Autenticando no AD - usuário digitando login e senha

2 respostas
alonsoinfo

Bom dia pessoal,

estou pesquisando bastante e não achei um tópico parecido com isso..

consegui o seguinte codigo..
import java.util.Hashtable;    
import javax.naming.AuthenticationException;    
import javax.naming.Context;    
import javax.naming.NamingException;    
import javax.naming.directory.Attribute;    
import javax.naming.directory.Attributes;    
import javax.naming.directory.DirContext;    
import javax.naming.directory.InitialDirContext;    
    
    
public class Login {    
    
    public static void main(String args []){    
    
        String userName = "cn=xpto,ou=usuarios,ou=SP,ou=Teste,dc=teste,dc=com,dc=br";  
        String newPassword = "teste";    
    
        Hashtable authEnv = new Hashtable(11);    
    
        authEnv.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");    
        authEnv.put(Context.PROVIDER_URL, "ldap://AD.com.br:389");    
        authEnv.put(Context.SECURITY_AUTHENTICATION, "simple");    
        authEnv.put(Context.SECURITY_PRINCIPAL, userName);    
        authEnv.put(Context.SECURITY_CREDENTIALS, newPassword);    
    
       try    
        {    
           DirContext authContext = new InitialDirContext(authEnv);    
           System.out.println("Autenticado!");    
    
        }    
        catch (AuthenticationException authEx)    
        {    
        System.out.println("Erro na autenticação! ");    
        authEx.printStackTrace();    
        }    
        catch (NamingException namEx)    
        {    
        System.out.println("Problemas na conexão! ");    
        //namEx.getCause().printStackTrace();    
        }    
    }    
    
}

Pergunta: ele está autenticando pelo cn do usuário, como eu faço para ele autenticar pelo SamAccountName.

Obrigado

2 Respostas

alonsoinfo

:roll:

alonsoinfo

galeraa, vamos la :?

Criado 21 de julho de 2011
Ultima resposta 25 de jul. de 2011
Respostas 2
Participantes 1