Tela Login nao indentifica caracter MIUSCULA e minuscula

8 respostas
douglascst90

Boa noite pessoal, tudo bem?

Tenho uma tela de login onde uso jsf 2 e hibernate, a validação ocorre normalmente, mas quando eu cadastro um usuario novo com senha que contem letras maiusculas e minusculas juntos ele nao indentifica.
Por exemplo:
cadastrei um usuario “jose123” e senha “jOsEaBc”

digito o nome do usuario “jose123” e a senha “JOSEABC” tudo maiuscula e faço o login ele entra normalmente. Na verdade queria que ele comparece se é maiscula e minuscula tambem. Voces me entenderam?

Queria saber se os senhores podem me ajudar com isso.

Desde ja agradeço, Obrigado.

8 Respostas

Markus_Alemao

Saudações jovem

Caso voce esteja usando Mysql isso pode ser util :
http://blog.thiagobelem.net/busca-case-sensitive-no-mysql/

Hebert_Coelho

Teria como você colocar apenas os métodos que envolvem a senha? JSF, Classe Modelo e Classe que transporta e salva senha/objeto?

douglascst90
jakefrog:
Teria como você colocar apenas os métodos que envolvem a senha? JSF, Classe Modelo e Classe que transporta e salva senha/objeto?
public Usuario buscarUsuarioObj(Usuario usuarioBean) throws Exception {

		Session session = HibernateUtil.getSessionFactory().openSession();
		Usuario u = new Usuario();

		try {

			Transaction transaction = session.beginTransaction();
			Criteria criteria = session.createCriteria(Usuario.class);
			criteria.add(Restrictions.eq("nome", usuarioBean.getNome()));
			criteria.add(Restrictions.like("senha", usuarioBean.getSenha()));


			u = (Usuario) criteria.uniqueResult();
			transaction.commit();

		} catch (Exception e) {
			e.printStackTrace();

		} finally {

			session.close();

		}

		return (Usuario) u;

	}

Pesquisando vi que o "like" iria fazer esse papel, mas testei aki e nao funcionou. Obrigado.

douglascst90

Markus Alemao:
Saudações jovem

Caso voce esteja usando Mysql isso pode ser util :
http://blog.thiagobelem.net/busca-case-sensitive-no-mysql/

Estou usando criteria, tentei fazer uma ganbia aqui mais nao deu certo.

Hebert_Coelho

Como está salvo no seu DB? AsSiM? ou assim?

Como está o valor de usuarioBean.getSenha() na hora que chegar ali no método?

douglascst90

jakefrog:
Como está salvo no seu DB? AsSiM? ou assim?

Como está o valor de usuarioBean.getSenha() na hora que chegar ali no método?

No banco esta salvo “AsSiM”, ele chega “AsSiM”.

Hebert_Coelho

Cara, se não me engano isso é o like quem faz. Ele nivela todas as Strings.

Tenta colocar equals. veja c vai funcionar.

douglascst90

jakefrog:
Cara, se não me engano isso é o like quem faz. Ele nivela todas as Strings.

Tenta colocar equals. veja c vai funcionar.

Antes estava com o equals, como abaixo

Transaction transaction = session.beginTransaction(); Criteria criteria = session.createCriteria(Usuario.class); criteria.add(Restrictions.eq("nome", usuarioBean.getNome())); criteria.add(Restrictions.eq("senha", usuarioBean.getSenha()));

e nao funcionou tambem, vou continuar pesquisando, obrigado pela ajuda.

Criado 1 de dezembro de 2011
Ultima resposta 2 de dez. de 2011
Respostas 8
Participantes 3