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
|
DirContext ctx= null;
Hashtable env = new Hashtable();
env.put("java.naming.factory.initial",
"com.sun.jndi.ldap.LdapCtxFactory");
env.put("java.naming.provider.url", "ldap://adresseX:10389/DC=organisation,DC=int,DC=que");
env.put("java.naming.security.authentication", "simple");
env.put("java.naming.security.principal", "CN=admin,DC=organisation,DC=int,DC=que");
env.put("java.naming.security.credentials", "password");
try {
ctx= new InitialDirContext(env);
} catch (NamingException e) {
e.printStackTrace();
throw new ServiceException(e.toString());
}
...
Attribute oc =
new BasicAttribute("objectclass");
oc.add("top");
oc.add("person");
oc.add("organizationalPerson");
oc.add("user");
oc.add("utilisateurLDAP4");
attributes.put(oc);
attributes.put("cn", utilisateur.getCourriel());
attributes.put("instanceType", "4");
attributes.put(new BasicAttribute("courriel",
utilisateur.getCourriel()));
attributes.put(new BasicAttribute("nom", utilisateur.getNom()));
attributes.put(new BasicAttribute("majMdp", "true"));
//... autres champs obligatoires de ma classe
// noeud des utilisateurs
String groupeUtilisateur =
"adressemailexemple.com"
// Perform the bind
String place =
"cn=" + utilisateur.getCourriel() + ",OU=" + groupeUtilisateur +
",OU=Utilisateurs,OU=Portail";
ctx.createSubcontext(place, attributes); |
Partager