整合shiro时,登录请求无法捕捉UnknownAccountException
来源:互联网 发布:linux hba卡 编辑:程序博客网 时间:2024/04/27 17:47
代码写累了,关于整合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,在这里既然自定义了验证类MyAuthorRealm,就无需再用jdbcRealm了,去掉它,就可以正常捕获异常了:
try {subject.login(token);} catch (UnknownAccountException ex) {map.put("message","用户名没有找到");return new ModelAndView("/admin/login",map);} catch (IncorrectCredentialsException ex) {map.put("message","用户名密码不匹配");return new ModelAndView("/admin/login",map);}catch (AuthenticationException e) {map.put("message","其他的登录错误");return new ModelAndView("/admin/login",map);}
阅读全文
0 0
- 整合shiro时,登录请求无法捕捉UnknownAccountException
- spring mvc整合shiro登录 权限验证
- spring mvc整合shiro登录 权限验证
- spring mvc整合shiro登录 权限验证
- spring mvc整合shiro登录 权限验证
- spring boot整合Shiro实现单点登录
- Cas单点登录(整合shiro版本)
- Shiro整合SSO单点登录系统
- 【伪】解决动态id元素无法捕捉自动登录问题
- Shiro 整合SpringMVC 并且实现权限管理,登录和注销
- SpringBoot+shiro整合学习之登录认证和权限控制
- SpringBoot+shiro整合学习之登录认证和权限控制
- springboot(十四):springboot整合shiro-登录认证和权限管理
- springboot(十四):springboot整合shiro-登录认证和权限管理
- springboot(十四):springboot整合shiro-登录认证和权限管理
- Shiro 整合SpringMVC 并且实现权限管理,登录和注销
- springboot(十四):springboot整合shiro-登录认证和权限管理
- Shiro整合Spring实现登录验证和授权之入门
- 机房准备问题小结
- mysql数据导入hbase
- deepin jdk how to use
- NSString NSMutableString NSArray NSMutableArray Block 分别用哪些修饰?
- Java equals compareTo()的区别
- 整合shiro时,登录请求无法捕捉UnknownAccountException
- Entity Framework Core添加唯一约束
- Spark On Yarn 详细配置流程
- java中单例的几种写法
- 常见排序算法
- 第一次机房收费系统--模块(三)
- Codeforces Round #427 (Div. 2)B. The number on the board
- Linux中vim编辑器
- RxJava2.0 基本使用,和场景