Classe de autenticação de usuário no AD

0 respostas
S

:sad: classe de autenticação de usuário no AD…

bom dia se alguem poder me ajudar estou precisando de uma classe onde autentico o usuário no AD da nossa rede… tenho alguma coisa pronta mas não estou conseguindo implementar para autenticar a senha do usuario… quando entro so com o usuário blz mas quando coloco a senha ai não vai porque preciso criptografar a senha para que ela possa ser comparada no servidor AD.

package Ldap;

import java.util.Hashtable;

import javax.naming.Context;

import javax.naming.NamingException;

import javax.naming.ldap.InitialLdapContext;

import javax.naming.ldap.LdapContext;

public class ldap_login {

private LdapContext ctx;
private final String URL_LDAP = “ldap://servidor:389”;

/**
* Efetua o login do usuário
* Se login inválido, lança uma exceção do tipo AuthenticationException
*/
public boolean login(String dn, String password) throws NamingException {

Hashtable env = new Hashtable(11);       
  env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory"); 
  env.put(Context.PROVIDER_URL, URL_LDAP); 
  env.put(Context.SECURITY_AUTHENTICATION, "simple"); 
  env.put(Context.SECURITY_PRINCIPAL, dn); 
  env.put(Context.SECURITY_CREDENTIALS, password); 
   
  // Tenta criar o contexto com os dados de login 
  try { 
     ctx = new InitialLdapContext(env,null); 
     return true; 
   
  } catch (javax.naming.AuthenticationException e) { 
     // Login inválido 
     return false; 
  }

}

public static void main(String[] args) {

ldap_login l = new ldap_login();

try {

if (l.login(usuario,senha)) {

System.out.println(Login válido);

} else {

System.out.println(Login inválido);

}
} catch (NamingException n) { 
     n.printStackTrace(); 
  }

}
}

Criado 8 de maio de 2006
Respostas 0
Participantes 1