Não entendi porque você utiliza a clausula LIKE na busca pelo nome do usuário rs = stmtCheckUser.executeQuery("SELECT p FROM Pessoal AS p WHERE p.Username like '%"+user+"%'");
e faz uma busca através do resultado pela password. Isto que você fez, faz com que traga os usuários que possuam aquele conjunto de caracteres. Por exemplo: Nome Password Almeida 123 Alex 1234 Se eu tentar logar com o usuário de nome "a" e password "123" ele vai conseguir entrar, pois o resultado da busca será: Nome Password Almeida 123 Alex 1234 e a password será conincidente com a do Almeida. -----Mensagem Original----- De: Romulo Oliveira Souza Enviado: Wednesday, May 29, 2002 3:20 PM Para: [EMAIL PROTECTED] Assunto: [java-list] collection Olá pessoal,
Estou com o probleminha com collection na minha aplicação que é o seguinte (no caso de login): - Eu consigo logar com apenas alguns usuários cadastrados, os outros não longam. - Eu consigo logar com um usuário que já foi excluido da base de dados.
Estou utilizando ejb de sessao e de entidade que seguem abaixo. Alguém poderia me ajudar??? Muito obrigado.
=============================== PessoalRemote ================================ import java.rmi.*; import javax.ejb.*; import java.lang.*;
public interface PessoalRemote extends EJBObject { public Integer getId() throws RemoteException; public void setId(Integer id) throws RemoteException;
public String getUsername() throws RemoteException; public void setUsername(String username) throws RemoteException;
public String getPassword() throws RemoteException; public void setPassword(String password) throws RemoteException;
public String getNome() throws RemoteException; public void setNome(String nome) throws RemoteException;
public String getEndereco() throws RemoteException; public void setEndereco(String endereco) throws RemoteException;
public String getCidade() throws RemoteException; public void setCidade(String cidade) throws RemoteException;
public void Grava() throws RemoteException;
public void LogIn(String user) throws RemoteException; }
================================ PessoalBean ============================= ... ... /****************************************************************************** * Método findByUsername(String username).
******************************************************************************/ public Collection ejbfindByUsername(String user) throws RemoteException, FinderException { try { Conecta(); if (rs != null) rs.close(); Statement stmtCheckUser = PessoalBean.con.createStatement(); rs = stmtCheckUser.executeQuery("SELECT p FROM Pessoal AS p WHERE p.Username like '%"+user+"%'"); if (rs == null){System.out.println("o rs não pegou nada!!!");} } catch (Exception e) { System.err.println ("Falha criando o rs no CheckUser"); }
try { if (rs != null) { LinkedList lista = new LinkedList(); if (rs.next()){ PessoalRemote obj = null; obj.setId(new Integer(rs.getInt("Id"))); obj.setUsername(rs.getString("Username")); obj.setPassword(rs.getString("Password")); obj.setNome(rs.getString("Nome")); obj.setEndereco(rs.getString("Endereco")); obj.setCidade(rs.getString("Cidade"));
lista.add(obj); } return lista; } } catch (Exception e) { System.err.println ("Falha recuperando os dados Login2 e Password2"); } return null; }
========================== SessaoBean ========================== ... ... /***************************************************************************** * Método LogIn. Recebe o username de usuário e se ele estiver cadastrado, * retorna 'true', caso contrário, retorna 'false'.
****************************************************************************/ public boolean LogIn (String username, String password) throws RemoteException { PessoalHome home = (PessoalHome) getHome("Pessoal-ejb", PessoalHome.class); try { Collection colecao = home.findByUsername(username); Iterator i = colecao.iterator(); PessoalRemote remote = null; if (i.hasNext()) { remote = (PessoalRemote)i.next(); if (remote.getPassword().trim().equals(password)) return true; } } catch(Exception e) { System.err.println ("&&&&&&&&&&&&&&&& ERRO EM 'SessaoBean.LogIn'!!! &&&&&&&&&&&&&&&"); System.out.println ("===> DESCRICAO: " + e); System.err.println ("&&&&&&&&&&&&&&&&&&&&&&&& FIM DO ERRO &&&&&&&&&&&&&&&&&&&&&&&&&"); } return false; }
------------------------------ LISTA SOUJAVA ---------------------------- http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -------------------------------------------------------------------------
Aproveite melhor a Web. Faça o download GRÁTIS do MSN Explorer : http://explorer.msn.com.br/intl.asp#po
|