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

什麼是Shiro

Apache Shiro是一個強大且靈活的開源安全框架,易於使用且好理解,撇開了搭建安全框架時的複雜性。
Shiro能夠幫助咱們作如下幾件事:web

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

Apache Shiro的特徵

下圖展現了Shiro主要的特徵:
算法

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

  • 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個對象關係以下:

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

相關文章
相關標籤/搜索