Pessoal boa tarde, estou tentando implementa senhas criptografadas na minha aplicação.
Consigo criptografar as senhas, mas estou tendo problemas com o Spring Security, ele não realiza o
login, informando que a senha e inválida.
O que está faltando ???
Classe para criptografia.
[code]import org.springframework.security.authentication.encoding.Md5PasswordEncoder;
import org.springframework.security.authentication.encoding.PasswordEncoder;
public class EncriptarMD5 {
public static String encriptar(String senha) {
PasswordEncoder encoder = new Md5PasswordEncoder();
senha = encoder.encodePassword(senha, null);
return senha;
}
}[/code]
Quando salvo o usuário.[code]public String salvar() {
this.usuario.setUser_tema("afternoon");
String senha = EncriptarMD5.encriptar(usuario.getUser_senha());
usuario.setUser_senha(senha);
UsuarioRN usuarioRN = new UsuarioRN();
usuarioRN.salvar(this.usuario);
usuario = new Usuario();
return "/admin/principalAdmin";
}[/code]
ApplicationContext-security<authentication-manager>
<authentication-provider>
<password-encoder hash="md5" />
<jdbc-user-service data-source-ref="omissoesDataSource"
authorities-by-username-query="SELECT u.user_login, p.permissao
FROM usuario u, usuario_permissao p
WHERE u.user_codigo = p.usuario
AND u.user_login = ?"
users-by-username-query="SELECT user_login, user_senha, estado_ativo
FROM usuario
WHERE user_login = ?" />
</authentication-provider>
</authentication-manager>
tela de login[code]<h:panelGroup rendered="#{!empty param.login_error}">
<h:outputText value="Login e Senha não Confere !!!"
style=“color: red;font-size:22px;” />
</h:panelGroup>
<form id="login" method="post"
action="#{request.contextPath}/j_spring_security_check">
<center>
<p:panelGrid columns="2">
<f:facet name="header">.: Digite os dados :.</f:facet>
<h:outputLabel for="j_username" value="Login" />
<h:inputText id="j_username" required="true" />
<h:outputLabel for="j_password" value="Senha" />
<h:inputSecret id="j_password" required="true" />
<h:outputLabel />
<h:commandButton type="submit" value="Login" />
</p:panelGrid>
</center>
</form>[/code]
Senha cadastrada no B.D atraves de um insert manual para teste : senha: 123 --> senha criptografada : 202cb962ac59075b964b07152d234b70
ex : INSERT INTO usuario VALUES (3,‘true’,‘admin@gmail.com’,‘admin’,‘Administrador’,md5(‘123’),‘bluesky’)
Obs: Sem a criptografia consigo realizar o login normalmente, não apresenta nenhum erro.
Se puderem me ajudar, ficarei agradecido…