处理Spring中的403错误

时间:2015-08-13 11:00:33

标签: spring exception handle http-status-code-403

我想处理403错误以显示正常消息:

@ExceptionHandler(AccessDeniedException.class)
    @ResponseBody
    public String accessDeniedException () {
        return "my message";
    }

但是AccessDeniedException没有处理403错误。

同样没有工作跟随:

@ResponseStatus(value = HttpStatus.FORBIDDEN)
    @ExceptionHandler(SecurityException.class)
    @ResponseBody

2 个答案:

答案 0 :(得分:3)

据我所知,如果通过控制器调用的代码没有抛出异常,则无法使用@ExceptionHandler(或@ControllerAdvice)处理它。例如,直接从Spring Security抛出的异常(如CSRF异常)无法以这种方式捕获。

答案 1 :(得分:1)

这很有可能来自Spring Security。如果是这种情况,您需要设置并注册access-denied-handler

Here is a detailed tutorial如何做到这一点。