@Preauthorize中的自定义错误处理错误返回或异常

时间:2019-06-11 12:08:19

标签: javascript angularjs spring-boot

出于安全考虑,我拥有@preauthorize,但是当此函数返回false时,我会得到

  

访问被拒绝

作为回应,直到春季。如何按照我自己的实现处理异常?

@PreAuthorize("hasPermission(#cookie,'balance')")

1 个答案:

答案 0 :(得分:0)

您可以创建自定义异常处理程序。 在此示例中,您处于REST环境中,这就是为什么我将ResponseEntity用作返回对象的原因。但是您可以根据自己的情况返回任何内容。

@ControllerAdvice
@RestController
public class MyResponseEntityExceptionHandler extends ResponseEntityExceptionHandler {

    @ExceptionHandler(AccessDeniedException.class)
    public final ResponseEntity<CustomResponseObject> handleAccessDeniedException(Exception ex, WebRequest request) {
        //code here
        return new ResponseEntity<>(...);
    }
}