Как и в случае с Spring Security 3.1.4.RELEASE, старый org.springframework.security.authentication.encoding.PasswordEncoder
устарел в пользу org.springframework.security.crypto.password.PasswordEncoder
. Поскольку мое приложение еще не было выпущено для публики, я решил перейти к новому, а не устаревшему API.
До сих пор у меня был ReflectionSaltSource
, который автоматически использовал дату регистрации пользователя как пароль пользователя для пароля.
String encodedPassword = passwordEncoder.encodePassword(rawPassword, saltSource.getSalt(user));
В процессе входа в систему Spring также использовал мой beans, чтобы проверить, может ли пользователь войти или не может войти. Я не могу этого добиться в новом кодовом коде, поскольку стандартная реализация SHA-1 - StandardPasswordEncoder
имеет возможность добавлять глобальную секретную соль во время создания кодировщика.
Есть ли какой-либо разумный способ настройки с помощью не устаревшего API?