Fórum Conexão ao SQLServer #475132

04/04/2014

0

Bom Dia Pessoal,

estou fazendo uma tela de login para o meu sistema conectando a uma tabela já existente no SQLServer.

mas ao inserir login e senha, ele da sempre incorreto, mesmo colocando corretamente os dados de LOGIN. O que pode estar acontecendo?

Classe de Conexao
public class FabricaDeConexao {
     public static Connection conn;
     public static Statement stmt;
     public static ResultSet rs;
    
    //String url = "jdbc:sqlserver://servidorsimula:1433/TrimboxTeste";
     String url = "jdbc:sqlserver://servidorsimula:1433;TrimboxTeste=TrimboxTeste";
    //String driver = "com.sqlserver.jdbc.Driver";
     String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
    String user = "sopasta_ti";
    String password = "ti_sopasta";
    
    public void abrirConexao(){
        try{
            Class.forName(driver);
            conn = DriverManager.getConnection(url, user, password);
            stmt = (Statement) conn.createStatement();
        }catch(Exception e){
            System.out.println(e.getMessage() + "\n" + e.getCause());
        }
    }
    /*public static void main(String[]args){
        FabricaDeConexao fab = new FabricaDeConexao();
        fab.abrirConexao();*/
    
    

}



METODO PARA ACESSAR

public void acessarSistema(){
        
        try {
        FabricaDeConexao fab = new FabricaDeConexao();
        fab.abrirConexao();
        //fab.stmt = (Statement) fab.conn.createStatement();
        fab.stmt = fab.conn.createStatement();
        
        String login = jTextField1.getText();
        
        String sql = "SELECT * FROM dbo.usuario WHERE nome = '" + login + "'";
        fab.rs = fab.stmt.executeQuery(sql);
        fab.rs.next();
       
        if(jTextField1.getText().equals(fab.rs.getString("nome")) && jPasswordField1.getText().equals(fab.rs.getString("senha"))){
              Tela_Principal tel = new Tela_Principal();
              tel.setVisible(true);
              this.setVisible(false);
              
              
           //   InformacaoCorrente.setNivelacesso(Integer.parseInt(rs.getString("nivelacesso")));
  
              
        }else{
            jTextField1.setText("");
            jPasswordField1.setText("");
            JOptionPane.showMessageDialog(null, "Login ou Senha Incorretos. Tente Novamente!");
        }
        }catch (Exception e){
            System.out.println(e.getMessage() + "\n" + e.getCause());
        }
        
     
    }

Marcio Morando

Marcio Morando

Responder

Posts

04/04/2014

Marcio Morando

Problema Resolvido já pessoal, OBRIGADO!
Responder

Gostei + 0

04/04/2014

Carlos Proença

Opa marcio rssr mals por n ter visto antes... mas posta o codigo com a solução.....

sua dificuldade de hoje pode ajudar alguem amanha....

att
Responder

Gostei + 0

04/04/2014

Marcio Morando

O problema era que a senha no banco esta criptografada e eu estou mando a senha sem criptografar. Agora to pesquisando como criptografar a senha antes de autenticar!

Obrigado pelo retorno.
Responder

Gostei + 0

04/04/2014

Eduardo Pessoa

chegando atrasado, então problema só era esse, mas vc resolveu com o java ou no proprio banco?
Responder

Gostei + 0

04/04/2014

Marcio Morando

Não resolvi ainda, só descobri o problema! kkkkkkkk

Alias, alguém pra ajudar como faço para criptografar a senha?

Estou utilizado o método que citei acima.

Responder

Gostei + 0

05/04/2014

Carlos Proença

qual o tipo de criptografia?? MD5?? é só mandar criptografar com o msm metodo a msm string e assim na teoria dara o mesmo resultado.... e vc compara o valor criptografado do banco com o que vc acabou de criptografar... nos meus sisteminhas em PHP eu usava muito MD5 rsrs

att.
Responder

Gostei + 0

06/04/2014

Eduardo Pessoa

o que é esse MD5?
Responder

Gostei + 0

06/04/2014

Carlos Proença

um tipo de algoritmo de criptografia....
Responder

Gostei + 0

07/04/2014

Marcio Morando

é MD5 sim, vou pesquisar aqui como fazer. Muito Obrigado amigo!
Responder

Gostei + 0

07/04/2014

Carlos Proença

Marcio não é dificil n.... da uma procurada na net sobre a MessageDigest com ela vc pega os algoritmos para criptografia.....

no seu caso é bem simples

tem um exemplo aqui no Devmedia
segue link MD5

att.
Responder

Gostei + 0

07/04/2014

Marcio Morando

Carlos, veja se você pode me ajudar!

Esta tabela do banco que estou pegando, é uma tabela de outro sistema. O que estou querendo fazer é utilizar o mesmo usuário e senha desse outro sistema para logar no meu sistema em JAVA. Criei a classe de criptografia como você me falou, mas ele não autentica, porque a senha criptografada fica diferente da senha criptografada do banco. O que posso fazer ?
Responder

Gostei + 0

07/04/2014

Carlos Proença

Seguinte... primeiramente vc consegue conectar nesse outro banco??? a conexao JDBC vai sem problemas??


para a autenticação voce precisa usar a msm criptografia.... e colocar a senha original se for a mesma ira gerar o mesmo hash e vc compara os hash pra ver se eh =....


mas uma pergunta.... se vc n usar criptografia no seu sistema... e copiar a senha que ja esta criptografada no outro banco... e tentar logar com o usuario e essa senha vc consegue??

não sei se deu pra entender....

pois deveria... se n der eh algum problema de tipo de formatação dos caracteres....


att
Responder

Gostei + 0

07/04/2014

Marcio Morando

Sim, a conexão está OK.

Sim, eu fiz esse teste, colocando o usuário e copiando a senha criptografada, e ele acessa normal!

Agora criptografando com o MD5, ele me retorna null sempre, pode esse que o tipo de criptografia não seja o MD5?
Responder

Gostei + 0

07/04/2014

Carlos Proença

cria um usuario com uma senha nova de teste....no banco antigo... para ver qual o hash que é gerado e compara com o seu... pois se for o msm algoritmo a msm entrada da a mesma saida....
cria tipo um usuario teste senha teste e ve se a chave gerada é a mesma nos 2 bancos... se for MD5 vai ser sim....

caso n seja entao voce tem que saber qual a forma que é feita a criptografia no banco antigo.... em qual app faz isso e qual a maneira.... e assim voce usa da msm forma na sua...

srsr mas seria isso msm..

att.
Responder

Gostei + 0

08/04/2014

Eduardo Pessoa

Marcio não é dificil n.... da uma procurada na net sobre a MessageDigest com ela vc pega os algoritmos para criptografia.....

no seu caso é bem simples

tem um exemplo aqui no Devmedia
segue link MD5

att.


vlw Carlos, estudando.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar