代码写累了,关于整合shiro,写个文章记录下一个简单但是困扰了我好久的问题:无论登陆时包什么异常,在controll中获取的都是异常的父类AuthenticationException。
框架使用ssm,在整合shiro时,自定义一个realm,命名为MyAuthorRealm,代码和网上大部分一样,主要是配置部分出了问题,老配置如下:
(贴了半天代码。。。。这个编辑器也是够了)
<!-- Shiro安全管理器 -->
<bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">
<property name="realms">
<list>
<ref bean="jdbcRealm"/>
<ref bean="myAuthorRealm"/>
</list>
</property>
<property name="cacheManager" ref="cacheManager"></property>
</bean>
这里配置了两个realm,按照顺序,shiro验证登录用户的时候会先走jdbcRealm,这时如果在MyAuthorRealm抛出throw new UnknownAccountException("用户不存在");,当捕获时却变成了它的父类AuthenticationException,在这