SpringSercurity标签库的引用

来源:互联网 发布:java兰陵王破解版 编辑:程序博客网 时间:2024/06/03 17:37
<%@ taglib prefix="security" uri="http://www.springframework.org/security/tags" %>
<!--添加springSecurity标签库--><dependency>    <groupId>org.springframework.security</groupId>    <artifactId>spring-security-taglibs</artifactId>    <version>3.1.3.RELEASE</version>    <type>jar</type>    <scope>compile</scope></dependency>
<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的实例    

原创粉丝点击