Shiro(一):Shiro介紹及主要流程


什么是Shiro

Apache Shiro是一個強大且靈活的開源安全框架,易於使用且好理解,撇開了搭建安全框架時的復雜性。
Shiro可以幫助我們做以下幾件事:

  • 認證使用者的身份
  • 提供用戶的訪問控制,比如:
    • 決定一個用戶是否被授予某個特定的安全角色
    • 決定用戶是否允許做某件事
  • 可以在任何環境中使用Session API,不在局限於web或是EJB容器中
  • 可以在認證,訪問控制或是session的生命周期的期間中對特定事件產生反應
  • 可以整合多個數據源的用戶安全數據到一個統一的用戶視圖中
  • 支持單點登錄
  • 支持'記住我'功能
    等等

Apache Shiro的特征

下圖展示了Shiro主要的特征:

Primary Cocnerns(基本關注點):Authentication(認證),Authorization(授權),Session Management(會話管理),Cryptography(加密)。

  • Authentication(認證):經常和登錄掛鈎,是證明用戶說他們是誰的一個工作
  • Authorization(授權):訪問控制的過程,即,決定‘誰’可以訪問‘什么
  • Session Management(會話管理):管理用戶特定的會話,即使在非web或是EJB的應用中
  • Crytography(加密):通過加密算法保證數據的安全,且易於使用

Supporting Features(輔助特性):

  • Web Support(網絡支持):web support API可以幫助在web應用中方便的使用shiro
  • Caching(緩存):保證安全操作使用快速有效
  • Concurrency(並發):支持多線程應用
  • Testing(測試):支持集成單元測試
  • “Run As”(以..運行):可以假定用戶為另一個用戶
  • “Remeber Me”:記住用戶,無需再次登錄

Authentication和Authenticator的主要流程

  • Authentication(認證):
    與認證流程相關的Shiro各對象關系如下:

以更加清晰的流程圖對應上述的步驟:

  • Authenticator(授權): 與授權相關的Shiro個對象關系如下:

換成流程圖對應上述的步驟:


免責聲明!

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



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