Duvida para validar login

5 respostas
T

Ola pessual criei uma classe login, ele ate consegue ver se o ususario está cadastrado e tal, mas queria que ele mostrasse quando a senha estiver correta e o nome errado que o nome de usuario está errado e vice-versa, criei o código mas não conheço a fundo a linguagem então não sei onde devo comparar isso, poderiam me dar uma força

try
        {
            String sql = "SELECT * FROM LOGIN WHERE USERNAME = '"+jTFd_Username.getText()+"' AND PASSWORD = '"+jPFd_password.getText()+"'";
            con_login.executeSQL(sql);
            
            if (con_login.resultset.first())
            {
                Usuario = con_login.resultset.getString("Username");
                Tp_Usuario = con_login.resultset.getString("Tipo_Acesso");
                JOptionPane.showMessageDialog(null, "Bem Vindo !  "+ Usuario);
                new Tela_Principal().show();
                dispose();
            }else if(con_login.resultset.first()){
                Usuario = con_login.resultset.getString("Username");
                Tp_Usuario != con_login.resultset.getString ("Tipo_Acesso");
                JOptionPane.showMessageDialog(null, "A senha está incorreta ");
                } else if(con_login.resultset.first()){
                Usuario != con_login.resultset.getString("Username");
                Tp_Usuario = con_login.resultset.getString("Tipo_Acesso");
                JOptionPane.showMessageDialog(null, "O Usuario está incorreto ");
                }else
                    JOptionPane.showMessageDialog(null,"Usuario Não Cadastrado","Erro",JOptionPane.ERROR_MESSAGE);
        catch (SQLException erro)
        {
            JOptionPane.showMessageDialog(null, "Erro de SQL "+ erro);
        }
        
    }

5 Respostas

marcoslogan

o que é esse con_login?

ele é um statement ou um preparedStatement?

Eu desconheço esses comandos

con_login.resultset.first()

O que é isso?

pmlm

É muito má prática dar pistas sobre o que correu mal num processo de autenticação.
Se eu estiver a tentar hackar o sistema tenho de saber uma combinação login / password.
Se me dizes que a password está errada ou se o utilizador não existe, estás a ajudar a que seja mais fácil hackar o sistema.
A mensagem de erro deve simplesmente dizer que o login falhou porque o utilizador ou a password são inválidos.

thundercas
if (resultset.hasNext()){

// Usuário encontrado.
} else {
// Usuário não encontrado.
}
JonathanSSantos

Tente separar sua classe de conexao com o bd e sua classe de visualização do usuario!

Isto torna o codigo mais limpo!

E utiliza parametros ao inves de monta uma string sql pronta que nem esta fazendo!

thundercas

Aproveitando o assunto, o que vcs acham de sistemas que usam regras de negócio dentro das Procedures?? A princípio todos vão dizer “Péssima idéia, pois é de difícil manutenção e, caso seja alterado o banco da aplicação, será necessário refazer toda a parte de negócio”. No entanto, há quem diga que vale a pena principalmente devido à performance… Gostaria de uma opinião de alguém que manja do assunto… abs

Criado 9 de dezembro de 2009
Ultima resposta 9 de dez. de 2009
Respostas 5
Participantes 5