spring集成shiro,怎么才能同时生效两个不同的realm?
时间: 2024-02-23 13:57:57 浏览: 82
shiro实现不同身份使用不同Realm进行验证.docx
要同时生效两个不同的realm,你需要在shiro配置文件中配置多个realm,并将它们添加到securityManager中。具体步骤如下:
1. 配置多个realm
在shiro配置文件中,你可以为每个realm配置一个bean,例如:
```
<bean id="realm1" class="com.example.Realm1">
<bean id="realm2" class="com.example.Realm2">
```
2. 将多个realm添加到securityManager中
在shiro配置文件中,你需要将多个realm添加到securityManager中,例如:
```
<bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">
<property name="realms">
<list>
<ref bean="realm1"/>
<ref bean="realm2"/>
</list>
</property>
</bean>
```
这样就可以同时生效两个不同的realm了。当用户登录时,shiro会遍历所有的realm,直到找到一个可以验证用户的realm为止。如果两个realm都可以验证用户,那么会使用第一个配置的realm来进行验证。
阅读全文