Shiro通过异常类来描述认证失败的原因,比如:
|
AuthenticationToken token = new UsernamePasswordToken(loginName,loginPwd); Subject currentUser = SecurityUtils.getSubject(); try { currentUser.login(token); } catch (UnknownAccountException uae) { log.info("username wasn't in the system."); } catch (IncorrectCredentialsException ice) { log.info("password didn't match."); } catch (LockedAccountException lae) { log.info(account for that username is locked - can't login."); } catch (AuthenticationException ae) { log.info("unexpected condition."); } |
Shiro自带的认证异常类类图如下:
所有的异常类都是继承AuthenticationExceptions。如果现有的异常类不符合您的要求,可以自定义AuthenticationExceptions来代表具体的异常情况。
本文详细介绍了Shiro框架中通过异常类描述认证失败原因的方法,并展示了如何使用预设的认证异常类和自定义实现特定异常情况。文章包含自定义异常类的实例,以及Shiro自带认证异常类的类图,为开发者提供了一种解决认证过程中的常见问题的高效途径。
1945

被折叠的 条评论
为什么被折叠?



