Я использую Spring Boot с аутентификацией. Приложение работает правильно, но я пытаюсь фиксировать и регистрировать сбои аутентификации.
Если I curl -s RealUserName:BadPassword localhost:8080/foo
, это вызывает
@Component
public class AuthenticationEntryPoint extends BasicAuthenticationEntryPoint
{
@Override
public void commence
(
final HttpServletRequest request,
final HttpServletResponse response,
final AuthenticationException authException
)
throws IOException
{
...
дважды, один раз с BadCredentialsException
, один раз с InsufficientAuthenticationException
.
Я не вижу, где найти имя пользователя для неудачного входа в систему. HttpServletRequest
имеет getRemoteUser()
, но возвращает null, потому что аутентификация не удалась. Заголовки HTTP не содержат имени пользователя, ни BadCredentialsException
, ни InsufficientAuthenticationException
.
Как мне получить имя пользователя, если попытка входа в систему не удалась?