Spring 关于 Shiro 异常的处理器

@RestControllerAdvice
public class ShiroExceptionControllerAdvice {

	/**
	 * 密码错误
	 * @param request
	 * @param response
	 * @param exception
	 * @return
	 */
	@ExceptionHandler(value = IncorrectCredentialsException.class)
	public String IncorrectCredentialsException(HttpServletRequest request, HttpServletResponse response,
			Exception exception) {
		response.setStatus(HttpStatus.FORBIDDEN.value());
		return "IncorrectCredentialsException";
	}

	/**
	 * 用户名不存在
	 * @param request
	 * @param response
	 * @param exception
	 * @return
	 */
	@ExceptionHandler(value = UnknownAccountException.class)
	public String UnknownAccountException(HttpServletRequest request, HttpServletResponse response,
			Exception exception) {
		response.setStatus(HttpStatus.FORBIDDEN.value());
		return "UnknownAccountException";
	}

	/**
	 * 账户锁定
	 * @param request
	 * @param response
	 * @param exception
	 * @return
	 */
	@ExceptionHandler(value = LockedAccountException.class)
	public String LockedAccountException(HttpServletRequest request, HttpServletResponse response,
			Exception exception) {
		response.setStatus(HttpStatus.FORBIDDEN.value());
		return "LockedAccountException";
	}

	/**
	 * 过度尝试
	 * @param request
	 * @param response
	 * @param exception
	 * @return
	 */
	@ExceptionHandler(value = ExcessiveAttemptsException.class)
	public String ExcessiveAttemptsException(HttpServletRequest request, HttpServletResponse response,
			Exception exception) {
		response.setStatus(HttpStatus.FORBIDDEN.value());
		return "ExcessiveAttemptsException";
	}

	/**
	 * 认证异常
	 * @param request
	 * @param response
	 * @param exception
	 * @return
	 */
	@ExceptionHandler(value = AuthenticationException.class)
	public String AuthenticationException(HttpServletRequest request, HttpServletResponse response,
			Exception exception) {
		response.setStatus(HttpStatus.FORBIDDEN.value());
		return "AuthenticationException";
	}

	/**
	 * 未授权异常
	 * @param request
	 * @param response
	 * @param exception
	 * @return
	 */
	@ExceptionHandler(value = UnauthorizedException.class)
	public String UnauthorizedException(HttpServletRequest request, HttpServletResponse response, Exception exception) {
		response.setStatus(HttpStatus.FORBIDDEN.value());
		return "UnauthorizedException";
	}

}

猜你喜欢

转载自blog.csdn.net/qq_39291919/article/details/108977626