Validar usuário na aplicação

6 respostas
Z

Boa tarde pessoal

Minha dúvida é a seguinte:
Já pesquisei neste e em outros forums mas não achei resposta.
Tenho uma aplicação onde o usuário deve se autenticar com login e senha, estava usando até então o método .getText() para pegar a senha do usuário e salvar no banco, mas como o getText está deprecated estou utilizando agora o getPassword.
Então assim ele está inserindo no banco de dados a senha criptografada.

Agora eu preciso validar este usuário quando ele coloca o login e a senha dele, só que o problema é o seguinte:
Se eu pegar o texto que ele digitou e trazer para um char[], ele irá trazer a senha criptografada, só que o detalhe é que ele traz sempre uma criptografia diferente para a mesma senha (palavra), então com isso não consigo validar com a que está no banco de dados. Se eu trazer o que ele digitou para uma string, ok, vem o texto correto, se ele digitar ‘senha’ vai retornar ‘senha’, mas ainda não vou conseguir validar com a do banco de dados.

A questão é: Como eu faço isso??? tem como pegar a senha q está no banco (ele traz uma string criptografada) e descriptografar para que eu possa comparar???

Espero ter me expressado bem… conto com a ajuda de vocês!!

6 Respostas

P

há!

http://java.sun.com/docs/books/tutorial/uiswing/components/passwordfield.html

GIYF (Google Is Your Friend)
http://www.google.com.br/search?hl=pt-BR&q=java+getPassword&btnG=Pesquisa+Google&meta=

J

Não existe criptografia em JPasswordTextField, o que o getPassword() retorna é um char[] e para usa-lo você deve converter para String.

String senha = String.valueOf(campo.getPassword());

Se quer criptografia, use a classe MessageDigest:

http://java.sun.com/javase/6/docs/api/java/security/MessageDigest.html

L

Pessoal também to interessado em fazer um controle de usuários na minha pagina JSP.

Qual a mais prática forma de fazer isso?

Posso aproveitar alguma coisa da security do Tomcat pra evitar acessos não autorizados na minha página web?

Um abraço

Leandro.

Z

Desculpa, mas não consegui entender

se no banco de dados ele me grava assim:
[C@b40ec4
como, em uma consulta no banco de dados, onde eu utilizo um ResultSet.getString(“coluna”) e ele me retorna isso [C@b40ec4, que é o que foi salvo utilizando o getPassword() eu vou conseguir validar com o que o usuário digitou no momento do login??

P

aqui esta a sua resposta utilizando os recursos do Tomcat

http://tomcat.apache.org/tomcat-4.1-doc/realm-howto.html

Z

vou dar uma conferida…valeu mesmo!!!
:grin:

Criado 19 de janeiro de 2007
Ultima resposta 19 de jan. de 2007
Respostas 6
Participantes 4