細說shiro之二:組件架構


官網:https://shiro.apache.org/


Shiro主要組件包括:Subject,SecurityManager,Authenticator,Authorizer,SessionManager,CacheManager,Cryptography,Realms。


1. Subject
Subject表示與系統交互的對象,可以是登錄系統的操作用戶,也可能是另外一個軟件系統。
Subject類圖:

2. SecurityManager
SecurityManager是Shiro架構最核心的組件。實際上,SecurityManager就是Shiro框架的控制器,協調其他組件一起完成認證和授權,如下圖所示:

SecurityManager類圖:

3. Authenticator
Authenticator用於認證,協調一個或者多個Realm,從Realm指定的數據源取得數據之后進行執行具體的認證。
見org.apache.shiro.authc.pam.ModularRealmAuthenticator源碼:

Authenticator類圖:

4. Authorizer
Authorizer用戶訪問控制授權,決定用戶是否擁有執行指定操作的權限。
見org.apache.shiro.authz.ModularRealmAuthorizer源碼:

Authorizer類圖:

5. SessionManager
Shiro與生俱來就支持會話管理,這在安全類框架中都是獨一無二的功能。即便不存在web容器環境,shiro都可以使用自己的會話管理機制,提供相同的會話API。
SessionManager類圖:

6. CacheManager
緩存組件,用於緩存認證信息等。
CacheManager類圖:

7. Cryptography
Shiro提供了一個加解密的命令行工具jar包,需要單獨下載使用。
詳見:https://shiro.apache.org/download.html

 

8. Realms
Realm定義了訪問數據的方式,用來連接不同的數據源,如:LDAP,關系數據庫,配置文件等等。
Realm類圖:

 


免責聲明!

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



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