Apache Shiro V1.2 SecurityUtils与SecurityManager的关系以及Subject的创建
来源:互联网 发布:软件界面模糊 编辑:程序博客网 时间:2024/05/17 10:52
SecurityUtils是一个抽象的工具类,提供了 SecurityManager 实例的保存和获取的方法,以及创建Subject的方法。
一、SecurityUtils中的方法
SecurityUtils提供了 getSecurityManager()和setSecurityManager外,还有个特别的方法 getSubject(),这是获取subject的最有效的途径。
下面是 SecurityUtils 提供的三个方法:
实际上,创建的subject的工作还是由 SecurityManager 来完成的。
Buidler是在 Subject的内类,在Buidler中通过SecurityUtils 获取到了 SecurityManager ,调用buildSubject()。
在buildSubject()中调用了 securityManager.createSubject()方法( 由SecurityManager 的子类DefaultSecurityManager 的 实现createSubject()),完成subject创建的。
二、最终subject创建的代码
DefaultSecurityManager 实例化的时候,生成了 SubjectFactory子类 DefaultSubjectFactory 实例的属性。
DefaultSecurityManager的createSubject()方法 调用 DefaultSubjectFactory 的 createSubject()方法最终完成了subject 的创建:
下面是 DefaultSubjectFactory 中createSubject()方法的代码:
可见,subject的最终实例是 DelegatingSubject的实例,并且包含host,authenticated,principals,securityManager等丰富的信息。
阅读全文
0 0
- Apache Shiro V1.2 SecurityUtils与SecurityManager的关系以及Subject的创建
- Apache Shiro V1.2 SecurityUtils与SecurityManager的关系以及Subject的创建
- Apache Shiro V1.2 SecurityUtils与SecurityManager的关系以及Subject的创建
- Apache Shiro V1.2 Subject与Session的关系以及创建Session的过程分析
- Apache Shiro V1.2 Factory与SecurityManager及其子类的关系
- Shiro 2 Subject的创建
- org.apache.shiro.SecurityUtils.getSubject().getSession()
- Apache Shiro 会话与主体状态的关系
- Apache Shiro Subject学习笔记
- 关于shiro的 subject.getPrincipal()方法
- Subject 与 Observable 的区别
- shiro之org.apache.shiro.UnavailableSecurityManagerException: No SecurityManager accessible
- apache shiro与spring的环境搭建
- Apache Shiro学习笔记(二)身份验证获取SecurityManager
- Apache Shiro的特点
- Apache Shiro的使用
- Apache与Tomcat的关系?
- apache 与 tomcat的关系
- MongoDB实战-使用EXPLAIN分析慢查询
- BZOJ 4991 [Usaco2017 Feb]Why Did the Cow Cross the Road III 树状数组套splay【未AC】
- [BZOJ]3282: Tree lct
- Privacy Policy
- 数组去重之简单,装逼方法,,,
- Apache Shiro V1.2 SecurityUtils与SecurityManager的关系以及Subject的创建
- gym 101061-B RGB plants 裸矩阵快速幂
- 记录一个Tomcat启动参数修改,导致不识别<async-supported>的问题
- Eclipse之Hibernate插件报错
- 论文阅读——利用Binary Hash Codes的深度图像检索
- java得到距离指定时间num时间的时间、以及反射调用方法、Log日志配置信息
- 多个项目部署到一个tomcat下面报错:Choose unique values for the 'webAppRootKey' context-param in your web.xml files
- Vue学习笔记(1)安装vue
- Permutations