设为首页 收藏本站
查看: 801|回复: 0

[经验分享] Apache Shiro V1.2 Factory与SecurityManager及其子类的关系

[复制链接]

尚未签到

发表于 2017-1-13 07:22:34 | 显示全部楼层 |阅读模式
一、Apache Shiro简介


Apache Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能:




  • 认证(AuthentiCation) - 用户身份识别和验证;
  • 授权(AuthoriZation) - 访问控制;
  • 密码加密 - 保护或隐藏数据防止被偷窥;
  • 会话管理 - 每用户相关的时间敏感的状态。

  对于任何的应用,Apache Shiro 都可以提供全面的安全管理服务。
  

  二、Factory 简介
  Factory是一个接口类,提供(Factory Method design pattern)工厂方法设计模式的支持。
  Factory接口声明的getInstance()方法,由其直接子类AbstractFactory实现。
  之后AbstractFactory在实现的getInstance()方法中调用了一个新声明的抽象方法,这个方法也是由其直接子类实现的。
  这样,从Factory开始,每个子类都实现父类声明的抽象方法,同时又声明一个新的抽象方法并在实现父类的方法中调用。
  请参考最后的关系图。
  

  三、SecurityManager简介
  SecurityManager是Apache Shiro框架的核心,在一个应用中只有一个单例的SecurityManager实例存在,是典型的Facade模式。
  Apache Shiro通过SecurityManager来管理内部组件实例,并通过它来提供安全管理的各种服务。
  SecurityManager为全部的用户完成所有安全相关操作的执行。

  

  四、Factory 与 SecurityManager 及其子类的关系
  Factory与SecurityManager的关系请见下图:
   DSC0000.png

  五、用法
  通常这样使用Factory 和 SecurityManager:
  

Factory<SecurityManager> factory = new IniSecurityManagerFactory();
SecurityManager securityManager = factory.getInstance();

或者指定一个配置文件:  

Factory<SecurityManager> factory = new IniSecurityManagerFactory("classpath:shiro.ini");
SecurityManager securityManager = factory.getInstance();

IniSecurityManagerFactory 是 Factory的子类,DefaultSecurityManager是 SecurityManager的子类。
  

  
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-327627-1-1.html 上篇帖子: Apache Axis2 1.5.4在eclipse环境下的插件安装补充 下篇帖子: XAMPP环境下apache无法启动(端口未被占用)的解决方法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表