日期:2014-05-17  浏览次数:20967 次

Apache Shiro V1.2 SecurityUtils与SecurityManager的关系以及Subject的创建

SecurityUtils是一个抽象的工具类,提供了 SecurityManager 实例的保存和获取的方法,以及创建Subject的方法。

一、SecurityUtils中获取subject的方法
SecurityUtils提供了 getSecurityManager()和setSecurityManager外,还有个特别的方法 getSubject(),这是获取subject的最有效的途径。
  1. public static Subject getSubject() {
  2. Subject subject = ThreadContext.getSubject();
  3. if (subject == null) {
  4. subject = (new Subject.Builder()).buildSubject();
  5. ThreadContext.bind(subject);