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提供的標簽庫。

在頁面中引入標簽庫:

< %@ 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的實例    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM