Apache Shiro V1.2 Factory与SecurityManager及其子类的关系

本文介绍了Apache Shiro安全框架,包括其核心组件SecurityManager的功能与使用方式,以及Factory的设计模式支持。Apache Shiro提供了认证、授权、加密和会话管理等全面的安全管理服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、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的关系请见下图:


五、用法

通常这样使用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的子类。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值