Java Shiro加密認證保證安全會話連接

Shiro是Apache開發的一款基於強大易用的Java安全框架的軟件,可以處理身份驗證、授權、企業會話管理和加密。Shiro擁有強大的功能,可以實現系統的權限管理,有效提高開發效率,從而降低開發成本。shiro的功能具體是什麼?

Shiro功能如下圖所示:

Java Shiro加密認證保證安全會話連接
Shiro主要功能是認證(Authentication)證明哪個用戶登錄;授權(Authorization)訪問控制的過程,即確定用戶的訪問權限;會話管理(Session Management)即使在非Web或EJB應用程序中也可以管理用戶特定的會話;密碼學(Cryptography)使用加密算法保持數據安全性,同時易於使用。

明白了shiro的主要功能之後,才能在實例中更好地應用shiro,發揮shiro的功能。那麼,shiro應用的基本架構是什麼?

Java Shiro加密認證保證安全會話連接

subject:主體,可以是用戶也可以是程序,主體要訪問系統,系統需要對主體進行認證、授權。

securityManager:安全管理器,主體進行認證和授權都是通過securityManager進行。

authenticator:認證器,主體進行認證最終通過authenticator進行的。

authorizer:授權器,主體進行授權最終通過authorizer進行的。

sessionManager:web應用中一般是用web容器對session進行管理,shiro也提供一套session管理的方式。

SessionDao: 通過SessionDao管理session數據,針對個性化的session數據存儲需要使用sessionDao。

cache Manager:緩存管理器,主要對session和授權數據進行緩存,比如將授權數據通過cacheManager進行緩存管理,和ehcache整合對緩存數據進行管理。

realm:域,領域,相當於數據源,通過realm存取認證、授權相關數據。

注意:在realm中存儲授權和認證的邏輯。

cryptography:密碼管理,提供了一套加密/解密的組件,方便開發。比如提供常用的散列、加/解密等功能。

由架構可以得知shiro的工作原理是什麼,從而從本質上理解shiro是什麼。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章