spring 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提供的标签库。

在页面中引入标签库:spring

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

使用标签库的示例:

< sec:authentication property ="principal" var ="authentication" />安全

< sec:authorize ifAllGranted ="ROLE_USER" > 能够访问 </ sec:authorize >url

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

前台 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的实例    blog

相关文章
相关标签/搜索