Если у вас есть только один альтернативный пароль, вы можете объявить второй DaoAuthenticationProvider
, подкрепленный специальным UserDetailsService
, который выдаст UserDetails
с этим альтернативным паролем.
В противном случае вы можете создать пользовательский AuthenticationProvider
. Проверка учетных данных в DaoAuthenticationProvider
происходит в additionalAuthenticationChecks()
, поэтому, если вы хотите изменить эту логику, вы можете создать подкласс DaoAuthenticationProvider
и переопределить этот метод в своей реализации.
Например, если вы хотите аутентифицировать пользователя независимо от его учетных данных, вы можете переопределить этот метод пустой реализацией.