三个核心对象:

shiro初步理解_数据

 

2、架构原理

2.1 Subject
首先将一个用户抽象为一个Subject对象,通过调用对象里的方法来实现对用户的认证、授权、会话、缓存等等的操作。

比如:subject.hasRole()、subject.checkPermission()等等。

2.2 SecurityManager
这是一个核心组件,Subject调用的操作,基本都由SecurityManager去处理并作出相应的回应,所以正如图中一样,SecurityManager管理着很多功能模块,SecurityManager是个接口,每一个功能模块都对应着一个自己的Manager,这样使得shiro框架的代码结构清晰有条理。

具体的认证器、授权器、会话管理器等等这些组件,都有自己的默认实现、默认配置。

2.3realm:是直接跟数据库打交道的!Realm:域,Realm 充当了 Shiro 与应用安全数据间的“桥梁”或者“连接器”。

Shiro 中的 Realm

 

项目的shiro配置:

shiro初步理解_shiro初步理解_02