BadCredentialsException в Spring Security отличается от других исключений аутентификации тем, что возникает, когда поставщик аутентификации определяет, что предоставленные учётные данные (имя пользователя и пароль) недействительны. 34
Это обычно происходит, когда пользователь пытается войти в систему с неправильными учётными данными. 3
Некоторые другие исключения аутентификации в Spring Security и их отличия:
- UsernameNotFoundException. 1 Выбрасывается, если реализация UserDetailsService не может найти объект UserDetails для данного имени пользователя. 1
- AccountExpiredException, CredentialsExpiredException, DisabledException и LockedException. 1 Эти исключения выбрасываются реализацией AuthenticationProvider из-за конкретного статуса учётной записи пользователя. 1
- InsufficientAuthenticationException. 1 Обычно возвращается ExceptionTranslationFilter, если он обнаруживает, что доступ запрещён, потому что пользователь анонимный или аутентифицирован через функцию «запомнить меня». 1
- ProviderNotFoundException. 1 Выбрасывается классом ProviderManager, который реализует интерфейс AuthenticationManager, если он не может найти подходящего поставщика аутентификации, который поддерживает представленный объект аутентификации. 1
- AuthenticationServiceException. 1 Выбрасывается в ситуациях, когда запрос на аутентификацию не может быть обработан из-за проблемы в системе. 1