• spring security的标签库


    spring security的标签库

    authorize用来判断当前用户的权限,然后根据指定的条件判断是否显示内部的内容。
    jsp页面首先要引入security的标签库

    应用标签库:<%@ taglib prefix='security ' uri='http://www.springframework.org/security /tags' %>


    <security :authorize>是一个流程控制标签,能够在满足特定安全需求的条件下显示它的内容体。它有三个互斥的参数:
    ifAllGranted——是一个由逗号分隔的权限列表,用户必须拥有所有列出的权限时显示;
    ifAnyGranted——是一个由逗号分隔的权限列表,用户必须至少拥有其中的一个权限时才能显示;
    ifNotGranted——是一个由逗号分隔的权限列表,用户未拥有所有列出的权限时才能显示。


    <security :authentication>获得属性的值比如要获得用户名可以这么写:
    <security :authentication property="principal.username"></security :authentication>
    他有三个属性,property是必须的,另外scope和var,var定义一个变量,scope定义var存在的范围

    例子:

    有时需要在页面显示用户名,或者根据用户角色显示或者不显示一些内容。这需要使用到spring security提供的标签库。

    在页面中引入标签库:

    < %@ taglib prefix ="sec" uri ="http://www.springframework.org/security/tags" % >

    使用标签库的示例:
    < sec:authentication property ="principal" var ="authentication" />

    < sec:authorize ifAllGranted ="ROLE_USER" > 可以访问 </ sec:authorize >

    用户名:${authentication.username } < br />

    前台 ROLE_ANONYMOUS表示匿名用户

    在配置文件中可以设置页面进入的权限

    <intercept-url pattern="/Homepage.*" access="ROLE_ADMIN,IS_AUTHENTICATED_ANONYMOUSLY"/>

    IS_AUTHENTICATED_ANONYMOUSLY允许匿名用户进入

    IS_AUTHENTICATED_FULLY 允许登录用户进入

    IS_AUTHENTICATED_REMEMBERED 允许登录用户和rememberMe用户进入

    IS_AUTHENTICATED_FULLY:是则满足以下情况返回通过:
    **.既不是RememberMeAuthentication也不是AnonymousAuthenticationToken的实例
    IS_AUTHENTICATED_REMEMBERED:是则满足以下任一情况返回通过:
    a*.Authentication是RememberMeAuthenticationToken的实例
    b*.既不是RememberMeAuthentication也不是AnonymousAuthenticationToken的实例
    IS_AUTHENTICATED_ANONYMOUSLY:是则满足以下任一情况返回通过:
    a*.Authentication是AnonymousAuthenticationToken的实例
    b*.既不是RememberMeAuthentication也不是AnonymousAuthenticationToken的实例
    c*.Authentication是RememberMeAuthenticationToken的实例

    authorize用来判断当前用户的权限,然后根据指定的条件判断是否显示内部的内容。
    jsp页面首先要引入security的标签库

    代码:

    <%@ taglib prefix="security" uri="http://www.springframework.org/security/tags" %>



    代码:

    //ifAllGranted,只有当前用户同时拥有ROLE_ADMIN和ROLE_USER两个权限时,才能显示标签内部内容。
    <security:authorize ifAllGranted="ROLE_ADMIN,ROLE_USER">
    admin and user
    </security:authorize>
    //ifAnyGranted,如果当前用户拥有ROLE_ADMIN或ROLE_USER其中一个权限时,就能显示标签内部内容。
    <security:authorize ifAnyGranted="ROLE_ADMIN,ROLE_USER">
    admin or user
    </security:authorize>
    //ifNotGranted,如果当前用户没有ROLE_ADMIN时,才能显示标签内部内容
    <security:authorize ifNotGranted="ROLE_ADMIN">
    not admin
    </security:authorize>

  • 相关阅读:
    2-10 案例4:像素读取写入
    2-8 案例3:不同图片质量保存
    2-7 案例2:图片写入
    Linux文件操作实用笔记
    Linux文件操作实用笔记
    Linux 文件系统基础
    Linux 文件系统基础
    一篇故事讲述了计算机网络里的基本概念:网关,DHCP,IP寻址,ARP欺骗,路由,DDOS等...
    一篇故事讲述了计算机网络里的基本概念:网关,DHCP,IP寻址,ARP欺骗,路由,DDOS等...
    30 个与程序猿有关的成语
  • 原文地址:https://www.cnblogs.com/originate918/p/6288400.html
Copyright © 2020-2023  润新知