Не удалось обработать исключение InternalAuthenticationServiceException в Spring Security - PullRequest
0 голосов
/ 04 февраля 2019

Я разрабатываю API для отдыха, используя Spring Boot.У меня есть класс, который расширяет UsernamePasswordAuthenticationFilter, где я переопределяю метод attemptAuthentication.В процессе аутентификации Spring внутренне использует мой CustomUserDetailsService, который выдает исключение, если пользователь не найден.Spring внутренне обрабатывает это исключение и выдает InternalAuthenticationServiceException.Проблема в том, что я не могу поймать это исключение в моем центральном месте, где я настраиваю ответ в случае ошибок.Я использую @ControllerAdvice для этого, но кажется, что Spring просто игнорирует и всегда отправляет по умолчанию «Внутренняя ошибка сервера».

1 Ответ

0 голосов
/ 04 февраля 2019

для того, чтобы захватить «неудачную аутентификацию», просто переопределите метод unsuccessfulAuthentication в вашем фильтре

@Override
protected void unsuccessfulAuthentication(
    HttpServletRequest request,
    HttpServletResponse response,
    AuthenticationException failed)
            throws IOException, ServletException {

    //handle errors
}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...