Привет, я вынуждаю проблему, связанную с расширением функциональности метода UserDetailsService безопасности Spring. Этот метод по умолчанию генерирует исключение UsernameNotFoundException с кодом состояния 400 (неверный запрос)
override fun loadUserByUsername(username: Username): UserDetails {
if(loginAttemptService.isBlocked(username))
throw TooManyInvalidLoginRequestException()
val user = repository.findByEmail(username.toLowerCase())
?: repository.findByUsername(username)
?: throw AuthenticationUserNotFound()
return CustomUserDetails(user)
}
class TooManyInvalidLoginRequestException : ServiceException(TOO_MANY_REQUESTS, EMAIL_BLOCKED_TOO_MANY_INVALID_LOGIN_REQUEST)
Если я попытаюсь выбросить определенное мной исключение, которое генерирует другой код состояния, то оно переопределяется для 401 с моим сообщением. Ты хоть представляешь, как это предотвратить?