Пользовательская обработка ошибок в @Preauthorize ложный возврат или исключение - PullRequest
0 голосов
/ 11 июня 2019

У меня есть @preauthorize в целях безопасности, но когда эта функция возвращает false, я получаю

Доступ запрещен

в ответе через Spring.Как обработать исключение согласно моей собственной реализации?

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

1 Ответ

0 голосов
/ 11 июня 2019

Вы можете создать свой собственный обработчик исключений.В этом примере вы находитесь в среде 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<>(...);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...