Apache Shiro V1.2 SecurityUtils与SecurityManager的关系以及Subject的创建
SecurityUtils是一个抽象的工具类,提供了 SecurityManager 实例的保存和获取的方法,以及创建Subject的方法。
一、SecurityUtils中获取subject的方法
SecurityUtils提供了 getSecurityManager()和setSecurityManager外,还有个特别的方法 getSubject(),这是获取subject的最有效的途径。
- public static Subject getSubject() {
- Subject subject = ThreadContext.getSubject();
- if (subject == null) {
- subject = (new Subject.Builder()).buildSubject();
- ThreadContext.bind(subject);