Como usar o novo PasswordEncoder da Spring Security
A partir do Spring Security 3.1.4.RELEASE, o antigoorg.springframework.security.authentication.encoding.PasswordEncoder
foi descontinuado em favor deorg.springframework.security.crypto.password.PasswordEncoder
. Como meu aplicativo ainda não foi liberado para o público, decidi migrar para a API nova e não obsoleta.
Até agora, eu tive umReflectionSaltSource
que usou automaticamente a data de registro do usuário como por usuário para senha.
String encodedPassword = passwordEncoder.encodePassword(rawPassword, saltSource.getSalt(user));
Durante o processo de login, o Spring também usou meus beans para verificar se o usuário pode ou não fazer login. Não consigo fazer isso no novo codificador de senha, porque a implementação padrão do SHA-1 -StandardPasswordEncoder
tem apenas a capacidade de adicionar um sal secreto global durante a criação do codificador.
Existe algum método razoável de como configurá-lo com a API não reprovada?