本篇博客帶大家瞭解Shiro的整體架構,各個部分的作用。
Shiro整體架構
上層部分:是“操作用戶(主體)”。
中層部分:
Security Manager(管理者):是Shiro的核心,Shiro通過Security Manager提供安全服務。
Authenticator:認證器,管理登錄登出。
Authorizer:授權器,賦予主體權限。
Session Manager:Session管理器,Shiro自己實現了一套Session管理機制,可以藉助Web容器去實現Session。
Session DAO:實現了Session的操作,主要有增刪改查。
CacheManager:緩存管理器,緩存角色數據和權限數據。
Pluggable Realms:就是和數據庫,數據源之間的一個橋樑。Shiro獲取認證信息,權限數據,角色數據通過Realms來獲取。
Cryptography:是用來做加密,能非常快捷的實現數據加密。
下層部分:是數據源(數據庫)。
Authenticator(認證器)如何認證:
操作用戶(主體)提交請求到Security Manager調用Authenticator去認證,Authenticator通過Pluggable Realms去獲取認證信息,Pluggable Realms是從下面的數據源(數據庫)中去獲取的認證信息,然後用通過Pluggable Realms從數據庫中獲取的認證信息和主體提交過來的認證數據做比對。
Authorizer(授權器)如何授權:
大體和認證操作一樣,也是通過Pluggable Realms從下面的數據源(數據庫)中去獲取權限數據,角色數據。