/**
* 授权异常
* <p>
* org.apache.shiro.authz.UnauthenticatedException 授权异常
* org.apache.shiro.authz.HostUnauthorizedException 没有访问权限
* org.apache.shiro.authz.UnauthorizedException 没有访问权限
* org.apache.shiro.authz.AuthorizationException 上面异常的父类
*
* @param ex 没有权限的异常
* @return ModelAndView
*/
@ResponseBody
@ExceptionHandler(value = {AuthorizationException.class})
public ResponseResult authorizationExceptionHandler(AuthorizationException ex, HttpServletRequest request) {
log.warn("没有权限的异常=>{}", ex.getMessage());
return new ResponseResult(HttpStatus.UNAUTHORIZED.value(), "没有权限");
}
/**
* 认证异常
* <p>
* org.apache.shiro.authc.pam.UnsupportedTokenException 身份令牌异常,不支持的身份令牌
* org.apache.shiro.authc.UnknownAccountException 未知账户/没找到帐号,登录失败
* org.apache.shiro.authc.LockedAccountException 帐号锁定
* org.apache.shiro.authz.DisabledAccountException 用户禁用
* org.apache.shiro.authc.ExcessiveAttemptsException 登录重试次数,超限。只允许在一段时间内允许有一定数量的认证尝试
* org.apache.shiro.authc.ConcurrentAccessException 一个用户多次登录异常:不允许多次登录,只能登录一次 。即不允许多处登录
* org.apache.shiro.authz.AccountException 账户异常
* org.apache.shiro.authz.ExpiredCredentialsException 过期的凭据异常
* org.apache.shiro.authc.IncorrectCredentialsException 错误的凭据异常
* org.apache.shiro.authc.CredentialsException 凭据异常
* org.apache.shiro.authc.AuthenticationException 上面异常的父类
*
* @param ex 没有权限的异常
* @return ModelAndView
*/
@ResponseBody
@ExceptionHandler(value = {AuthenticationException.class})
public ResponseResult authenticationExceptionHanlder(AuthenticationException ex, HttpServletRequest request) {
return new ResponseResult(HttpStatus.BAD_REQUEST.value(), ex.getMessage());
}
Shiro异常体系
最新推荐文章于 2024-04-08 11:31:39 发布