Shiro学习笔记之(二)Apache Shiro架构整体认识
上一篇 Shiro学习笔记之(一)Apache Shiro 初识
一、核心类
Apache Shiro框架中有三个核心类:Subject,SecurityManager 和Realm
1.1 Subject
Subject 基本意思 当前用户,但不是狭隘的人,可以是其他三方进程,后台账户,定时作业等等。每个Subject 对象必须跟一个SecurityManager绑定,因此访问Subject对象其实都在与SecurityManager 里的特定的Subject进行交互。
1.2 SecurityManager
Subject 代表当前用户,SecurityManager则管理所有用户的安全操作,是Shiro框架的核心。
1.3 Realm
Realm 充当了Shiro与应用安全数据之间的桥梁或则连接器,当shiro进行认证(登陆)和授权(访问)等时,会从应用配置的Realm中查找内容。可以看作一个DAO,提供用户/账号的信息,但不仅仅是从数据库中获取数据。
二、架构
Authenticator 是核实用户身份的组件,登陆时会执行此组件。Authenticator 会从一个或者多个Realms里获取存储的用户/账号信息
Authorizer 是实现访问控制的组件。权限控制
SessionManager 创建和管理用户会话的生命周期。sessionDAO可以将会话数据持久化。
CacheManager 对其他组件提供缓存支持,提高性能。
Cryptography 加密组件,加密操作,哈希算法和不同的编码器/解码器的实现。