1. 程式人生 > 實用技巧 >shrio中的用法以及配置

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支援具有併發功能的多執行緒應用程式,也就是說支援在多執行緒應用中併發驗證。

Testing:測試,提供了測試的支援。
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:擁有某個角色許可權才能訪問

可學習的相關部落格(學習更深的知識)

1.Shiro的基本使用

未完持續,之後繼續整理補充