Pblm Connexion Java - LDAP (active directory)
Bonsoir à tous,
J'ai souhaite me conencter en Java à un annuaire LDAP (Active Directory)....
Après avoir recuperé un bout de code ici sur ce forum....
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
package test;
import java.util.Map;
import javax.naming.*;
import javax.naming.directory.*;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import java.util.Hashtable;
public class TestJava {
public static void main(String[] args) {
String baseName = ",cn=users,DC=activedirectory,DC=myorg,DC=ca";
String serverIP = "myAdress";
String modelUsername = "template";
// Set up environment for creating initial context
Hashtable env = new Hashtable(11);
env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL, "ldap://" + serverIP + ":389");
// Authenticate
env.put(Context.SECURITY_AUTHENTICATION, "simple");
env.put(Context.SECURITY_PRINCIPAL, "cn=Administrateur" + baseName);
env.put(Context.SECURITY_CREDENTIALS, "xxxxx");
// env.put(Context.SECURITY_PROTOCOL, "ssl");
try
{
DirContext ctx = new InitialDirContext(env);
System.out.println("Connection au serveur LDAP done");
// do something useful with ctx
Attributes answer = ctx.getAttributes("cn=Toto , ou=personnel, ou=GICM");
for (NamingEnumeration ae = answer.getAll(); ae.hasMore();)
{
Attribute attr = (Attribute)ae.next();
System.out.println("attribute: " + attr.getID());
for (NamingEnumeration e = attr.getAll(); e.hasMore();
System.out.println("value: " + e.next()));
}
ctx.close();
System.out.println("Deconnection done");
}
catch (NamingException e)
{
System.out.println("erreur ici: ");
e.printStackTrace();
}
}
} |
Après execution, j'ai le message d'erreur suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
Connection au serveur LDAP done
erreur ici:
javax.naming.NamingException: [LDAP: error code 1 - 000020D6: SvcErr: DSID-03100684, problem 5012 (DIR_ERROR), data 0;
remaining name 'cn=Toto, ou=personnel, ou=GICM'
at com.sun.jndi.ldap.LdapCtx.mapErrorCode(Unknown Source)
at com.sun.jndi.ldap.LdapCtx.processReturnCode(Unknown Source)
at com.sun.jndi.ldap.LdapCtx.processReturnCode(Unknown Source)
at com.sun.jndi.ldap.LdapCtx.c_getAttributes(Unknown Source)
at com.sun.jndi.toolkit.ctx.ComponentDirContext.p_getAttributes(Unknown Source)
at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.getAttributes(Unknown Source)
at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.getAttributes(Unknown Source)
at javax.naming.directory.InitialDirContext.getAttributes(Unknown Source)
at javax.naming.directory.InitialDirContext.getAttributes(Unknown Source)
at test.TestJava.main(TestJava.java:38) |
Si quelqu'un peut m'expliquer mon erreur, car apparement, je n'arrive pas à me connecter ! :(
merci d'avance !