Shiro安全框架第一篇| 什麼是Apache Shiro?
什麼是Apache Shiro?
Apache Shiro是一個強大靈活的Java安全框架,提供了認證、授權、會話管理和安全加密等功能,對於任何一個應用程式,Shiro都可以提供全面的安全管理服務、更易於理解的API。並且相對於其他安全框架,Shiro要簡單的多。
Apache Shiro可以做的一些事情:
-
驗證使用者以驗證其身份
-
為使用者執行訪問控制,例如:
-
確定是否為使用者分配了某個安全形色
-
確定是否允許使用者執行某些操作
-
-
在任何環境中使用Session API,即使沒有Web容器或EJB容器也是如此。
-
在身份驗證,訪問控制或會話生命週期內對事件做出反應。
-
聚合使用者安全資料的1個或多個數據源,並將其全部顯示為單個複合使用者“檢視”。
-
啟用單點登入(SSO)功能。
-
無需登入即可為使用者關聯啟用“記住我”服務。
Apache Shiro與Spring Security的比較
相比較Spring Security,Shiro要更輕量級,但是Shiro沒有Spring Security做的功能強大,實際工作中可能並不需要那麼複雜的功能,所以一般的應用程式使用Shiro就夠了。
Apache shiro功能
-
Authentication:有時也稱為“登入”,這是證明使用者是他們所說的人的行為。
-
Authorization:訪問控制的過程,即確定“誰”可以訪問“什麼”。
-
Session Management:即使在非Web或EJB應用程式中,也可以管理特定於使用者的會話。
-
Cryptography:使用加密演算法保持資料安全,同時仍然易於使用。
-
Web Support:Web 支援,可以非常容易的整合到 Web 環境;
-
Caching:快取,比如使用者登入後,其使用者資訊、擁有的角色 / 許可權不必每次去查,這樣可以提高效率;
-
Concurrency:shiro 支援多執行緒應用的併發驗證,即如在一個執行緒中開啟另一個執行緒,能把許可權自動傳播過去;
-
Testing:提供測試支援;
-
Run As:允許一個使用者假裝為另一個使用者(如果他們允許)的身份進行訪問;
-
Remember Me:記住使用者在會話中的身份,這樣他們只需要在強制要求時登入。
“掃碼關注“