本篇博客带大家了解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从下面的数据源(数据库)中去获取权限数据,角色数据。