1. 程式人生 > >Shiro安全框架第一篇| 什麼是Apache Shiro?

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:記住使用者在會話中的身份,這樣他們只需要在強制要求時登入。

     

 

              “掃碼關注“