shrio中的用法以及配置
前言
以往的許可權管理通常有以下幾個步驟:1.建立使用者,分配許可權。2.使用者登入,許可權攔截器攔截請求,識別當前使用者登入資訊。3.從許可權表中判斷是否擁有許可權。
shrio的許可權管理根據以上提出三個問題,1.如何上shiro攔截請求?在web開發中,shiro會提供一個攔截器來對請求進行攔截。2.shiro如何判斷髮起請求使用者的身份?在web開發中,會藉助session來判斷,如果禁用了session,那麼可能需要重寫一些方法。3.如何判斷許可權?shiro使用realm來判斷許可權。
概念
shiro是一個開源的java安全(許可權)框架,它能夠實現身份驗證、授權、加密和會話管理等功能。
shrio是apache旗下的產品。
shrio不僅可以用於javaEE環境,也可以用於javaSE。
功能
Authentication:身份認證,驗證使用者是否擁有某個身份。
Authorization: 許可權校驗,驗證某個已認證的使用者是否擁有某個許可權。確定“誰”可以訪問“什麼”。
Session Management:會話管理,管理使用者登入後的會話,
Cryptography:加密,使用密碼學加密資料,如加密密碼。
Web Support:Web支援,能夠比較輕易地整合到Web環境中。
Caching:快取,對使用者的資料進行快取,
Concurrency:併發,Apache Shiro支援具有併發功能的多執行緒應用程式,也就是說支援在多執行緒應用中併發驗證。
Run as :允許使用者以其他使用者的身份來登入。
Remember me :記住我
同類比較知名的安全框架還有Spring Security,Shiro的優點就說比較簡潔,功能不比Spring Security 多樣,當對於安全需求不多的時候可用shiro。
依賴包
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-spring</artifactId>
<version>1.5.3</version>
</dependency>
攔截器
/**是路徑,anon等是攔截器
常見的攔截器:
anon:無需認證即可訪問
authc:需要認證才可訪問
logout:只有登陸後才可以訪問
perms:擁有許可權才可以訪問
role:擁有某個角色許可權才能訪問
可學習的相關部落格(學習更深的知識)
未完持續,之後繼續整理補充