Descobriu o caminho: não é o login do usuário. É um DN LDAP como:
CN=My Name,OU=My Company,DC=server,DC=local
Estou tentando integrar meu programa ao LDAP. Eu tenho um servidor do Active Directory aqui, que aparentemente fala LDAP. Eu quero ver o que está no servidor antes de eu tentar depurar meu próprio código. Eu encontrei um programa chamado jxplorer que afirma ser capaz de falar com servidores LDAP.
No entanto, parece que não consigo dar certo. Estou usando configurações:
O erro que estou recebendo é:
javax.naming.AuthenticationException: [LDAP: error code 49 - 80090308: LdapErr: DSID=0C090334, comment: AcceptSecurityContext error, data 525, vece ]
O outro LDAP aqui diz que o 525 é "user not found" e supõe que talvez o nome do usuário precise ser especificado em "nomenclatura LDAP".
Alguém sabe como se conectar ao AD com o jxplorer?
Descobriu o caminho: não é o login do usuário. É um DN LDAP como:
CN=My Name,OU=My Company,DC=server,DC=local
Transmita o ID do usuário e a senha do LDAP diretamente codificados.
exemplo:
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.SECURITY_AUTHENTICATION,"simple");
env.put(Context.REFERRAL, "follow");
env.put(Context.SECURITY_PRINCIPAL,"adminuserid");
env.put(Context.SECURITY_CREDENTIALS,"adminPassword");
env.put(Context.PROVIDER_URL,"ldapUrllink");
DirContext ctx = new InitialDirContext(env);
Isso deve funcionar.
obrigado Sajith
Tags ldap active-directory