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