Conexão ao SQLServer

Java

04/04/2014

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

Curtidas 0

Respostas

Marcio Morando

Marcio Morando

04/04/2014

Problema Resolvido já pessoal, OBRIGADO!
GOSTEI 0
Carlos Proença

Carlos Proença

04/04/2014

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
GOSTEI 0
Marcio Morando

Marcio Morando

04/04/2014

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.
GOSTEI 0
Eduardo Pessoa

Eduardo Pessoa

04/04/2014

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

Marcio Morando

04/04/2014

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.

GOSTEI 0
Carlos Proença

Carlos Proença

04/04/2014

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.
GOSTEI 0
Eduardo Pessoa

Eduardo Pessoa

04/04/2014

o que é esse MD5?
GOSTEI 0
Carlos Proença

Carlos Proença

04/04/2014

um tipo de algoritmo de criptografia....
GOSTEI 0
Marcio Morando

Marcio Morando

04/04/2014

é MD5 sim, vou pesquisar aqui como fazer. Muito Obrigado amigo!
GOSTEI 0
Carlos Proença

Carlos Proença

04/04/2014

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.
GOSTEI 0
Marcio Morando

Marcio Morando

04/04/2014

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 ?
GOSTEI 0
Carlos Proença

Carlos Proença

04/04/2014

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
GOSTEI 0
Marcio Morando

Marcio Morando

04/04/2014

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?
GOSTEI 0
Carlos Proença

Carlos Proença

04/04/2014

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.
GOSTEI 0
Eduardo Pessoa

Eduardo Pessoa

04/04/2014

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.
GOSTEI 0
Marcio Morando

Marcio Morando

04/04/2014

Obrigado Carlos, consegui fazer com o modelo que me passou. Muito Obrigado.
GOSTEI 0
Carlos Proença

Carlos Proença

04/04/2014

Fala marcio... de nada man.... estamos aqui para isso mesmo.... um ajudando o outro


e Eduardo... ai sim... gogo estudar qualquer outra coisa só chamar....
GOSTEI 0
Eduardo Pessoa

Eduardo Pessoa

04/04/2014

Carlos, vou ser sincero, não entendi bem o codigo, kkkkkk
GOSTEI 0
Carlos Proença

Carlos Proença

04/04/2014

que codigo??

de geração de criptografia??
GOSTEI 0
POSTAR