中科院云平台架构师,专注于数字化、智能化,技术方向:云、Linux内核、AI、MES/ERP/CRM/OA、物联网、传感器、大数据、ML、微服务。
分类: Java
2014-10-16 11:18:02
在 Apache Shiro V1.2.3中,SecurityManager、SecurityUtils和Subject是面向开发者的主要操作接口,以下说明其中关系:
1:SecurityManager、SecurityUtils和Subject的关系
1)SecurityUtils提供了 getSecurityManager()和setSecurityManager,getSubject()
2)实际上,创建的subject的工作还是由 SecurityManager 来完成的。
Buidler是在 Subject的内类,在Buidler中通过SecurityUtils 获取到了 SecurityManager ,调用buildSubject()。
在buildSubject()中调用了 securityManager.createSubject()方法( 由SecurityManager 的子类DefaultSecurityManager 的 实现createSubject()),完成subject创建的。