表象:登陸後訪問頁面報錯No realms have been configured! One or more realms must be ……
解決辦法:
安全管理器配置順序:
authenticator>realms
前一篇文章shiro多realm配置免密碼登陸中將realms寫入了authenticator配置中,需要做此修改
<!--安全管理器-->
<bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">
<!--設置自定義Realm-->
<property name="authenticator" ref="authenticator"/>
<property name="realms">
<list>
<ref bean="shiroDbRealm"/> <!-- 正常默認的realm配置 -->
<ref bean="shiroSSORealm"/> <!-- vxrealm配置 -->
</list>
</property>
<!--<property name="realm" ref="shiroDbRealm"/>-->
<!--將緩存管理器,交給安全管理器-->
<property name="cacheManager" ref="shiroSpringCacheManager"/>
<!-- 記住密碼管理 -->
<property name="rememberMeManager" ref="rememberMeManager"/>
<property name="sessionManager" ref="sessionManager"/>
</bean>