shiro的多数据源和认证策略

来源:互联网 发布:js array键值对 编辑:程序博客网 时间:2024/05/24 02:41
今天在学习shiro,顺便做了下笔记,

采用多数据源的意义:是为了保证数据的安全性。

第一种方式:
第一步:书写多个realm实现类
第二步:SpringIOC容器中完成想用的bean配置
第三部:securityManager的bean中设置一个realms,并且通过集合对象完成属性的注入。

第二种方式:
第一步:springIOC容器中配置一个认证器,ModularRealmAuthenticator
第二步:bean的realms属性完成注入,是通过ModularRealmAuthenticator的realm完成属性的注入。
第三步:securityManager当中注入一个authenticator属性,告知安全管理器,我使用的具体的认证器实例。


认证策略:
1、FirstSuccessfulStrategy:只要有一个Realm验证成功即可,只返回第一个Realm身份验证成功的认证信息,其他的忽略;
2、AtLeastOneSuccessfulStrategy:只要有一个Realm验证成功即可,和FirstSuccessfulStrategy不同,将返回所有Realm身份验证成功的认证信息;
3、AllSuccessfulStrategy:所有Realm验证成功才算成功,且返回所有Realm身份验证成功的认证信息,如果有一个失败就失败。
ModularRealmAuthenticator默认是AtLeastOneSuccessfulStrategy策略





原创粉丝点击