Spring Security e MD5

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…

users-by-username-query="SELECT user_login, user_senha, estado_ativo FROM usuario WHERE user_login = ?" />

faça o teste assim

users-by-username-query="SELECT user_login, user_senha, estado_ativo [b]as ativo [/b] FROM usuario WHERE user_login = ?" />

e aliás como esta sua estrutura no banco da table de usuario e papel?

Olá amigo, obrigado pela atenção, mas não adiantou colocar o " as " .
Realmente o Spring Security não consegue associar os valores de senha.
Se tiver alguma outra idéia.

minha tabela Usuário:

user_codigo integer NOT NULL,
estado_ativo boolean NOT NULL,
user_email character varying(255),
user_login character varying(255),
user_nome character varying(255),
user_senha character varying(255),
user_tema character varying(255),
CONSTRAINT usuario_pkey PRIMARY KEY (user_codigo),
CONSTRAINT usuario_user_login_key UNIQUE (user_login)

Opa… boa tarde galera…

Realizando a criptografia atraves da classe PasswordEncoder do próprio Spring Security e inserindo o registro com o Hibernate,
estou conseguindo salvar a senha criptografada e realizando o login normalmente.
Se eu faço a inserção manualmente no banco o spring security não consegue relacionar as senhas.
Está resolvido , agora não me perguntem o pq disso ocorrer ??? kkkk

Obrigado a todos que me ajuadaram.

E ai Blz,!!

Da uma conferida no link abaixo que considero que possa te ajudar.
http://www.javaparaweb.com.br/blog/?p=112