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

相關文章
相關標籤/搜索