您的位置:首页 > 编程语言 > Java开发

spring security的tag标签

2013-12-26 17:22 411 查看
应用标签库:<%@ 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的实例      

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/superhanliu/archive/2007/08/16/1746054.aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: