shiro subject源码分析

核心接口Subject,通常我们会将Subject对象理解为一个用户,同样的它也有可能是一个三方程序,它是一个抽象的概念,可以理解为任何与系统交互的“东西”都是Subject。可以进行登录,退出,权限验证,获取用户信息,session.

shiro subject源码分析

 

principal代表什么那?

解释:
1)可以是uuid
2)数据库中的主键
3)LDAP UUID或静态DN
4)在所有用户帐户中唯一的字符串用户名。

也就是说这个值必须是唯一的。也可以是邮箱、身份证等值。类型为object

接口PrincipalCollection定义了获取principal的各种操作。

shiro subject源码分析

PrincipalMap 继承自Map和PrincipalCollection,定义了集合Principal的存储格式,设置获取的方法。

shiro subject源码分析

shiro subject源码分析

SubjectContext定义了一系列值,提供给SecurityManager实例化subject对象

 

shiro subject源码分析

shiro subject源码分析