Shiro——多个Realm的配置
来源:互联网 发布:制作歌曲伴奏软件 编辑:程序博客网 时间:2024/05/22 03:50
为什么需要使用多个Realm?
经过MD5或者其他加密算法的加密、盐值的使用之后,我们的数据看似已经十分的安全,但是也未必,所以,更好的方式是将数据存储于多个数据库中,混合使用不同的加密算法。
第一种配置多Realm的方式
这个过程也十分地简单,仅仅按照之前我们自定义Realm的方式,再行配置一个Realm即可。要注意将securityManager的realm属性改为realms集合属性:
<bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager"> <property name="cacheManager" ref="cacheManager"/> <!-- Single realm app. If you have multiple realms, use the 'realms' property instead. --> <property name="sessionMode" value="native"/> <property name="realms"> <list> <ref bean="myrealm"/> <ref bean="secondRealm"/> </list> </property> </bean>
按照配置顺序从上到下执行。
总结步骤:
1. 实现自定义Realm;
2. 配置bean;
3. 配置securityManager属性。
第二种方式
还记得我们上一篇中提到过的认证过程中实际获得realm是在哪一步吗?对,就是在Authenticator,具体一点,是在ModularRealmAuthenticator的doAuthenticate(token)中,它的getRealms方法,返回的是一个集合类型。
这个realms是它的一个属性,拥有相应的setter,因此,我们可以将自定义一个ModularRealmAuthenticator的bean,并将需要的realm作为属性值注入。
步骤:
1. 配置一个ModularRealmAuthenticator类型的认证器bean;
2. 在bean属性realms中完成多个Realm的配置;
3. 将我们配置的authenticator配置到securityManager中。
代码如下:
<bean id="authenticator" class="org.apache.shiro.authc.pam.ModularRealmAuthenticator"> <property name="realms"> <list> <ref bean="myrealm"/> <ref bean="secondRealm"/> </list> </property> </bean>
<bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager"> <property name="cacheManager" ref="cacheManager"/> <!-- Single realm app. If you have multiple realms, use the 'realms' property instead. --> <property name="sessionMode" value="native"/> <!--<property name="realms"> <list> <ref bean="myrealm"/> <ref bean="secondRealm"/> </list> </property>--> <property name="authenticator" ref="authenticator"/> </bean>
阅读全文
0 0
- Shiro——多个Realm的配置
- shiro 认证 配置单个realm和多个realm时的写法
- 自学-Shiro中多Realm的配置-09
- Shiro多个Realm认证及授权
- Shiro——Realm数据交互的实现
- Shiro的Realm
- shiro 多realm
- 自定义realm shiro加密配置
- Shiro 管理多个realm 实现前后台分离
- shiro多realm配置(可区分不同类型用户)
- [Shiro]多Realm时,指定登录Realm
- Shiro 的身份认证-Realm
- @Autowire与@Resource的区别——Shiro框架中定义Realm遇到的问题
- apache-shiro杂记(二) 关于多realm认证的策略
- Shiro学习笔记(2)——身份验证之Realm
- Shiro Review——自定义Realm实现认证
- Shiro Review——自定义Realm实现授权
- Shiro 学习笔记(3)—— 自定义 Realm
- c++面向对象编程——类的初步学习
- 单页面应用接入微信填坑之二(微信支付Nodejs)
- Drools7.5.0教程-目录
- 通过javascript获取本周或上(n)周下(n)周的日期
- bLue的平行四边形
- Shiro——多个Realm的配置
- [Codeforces 891C] Envy
- Help Jimmy POJ
- 上传头像_
- Java动态生成类以及动态添加属性
- Git(一)——入门
- ListView中开启线程查询更新数据导致的ViewHolder错乱问题解决
- 树莓派Raspbian中IDLE键盘响应停滞问题及其解决
- 【jvm】-- G1垃圾回收