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 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
| import java.util.Hashtable;
import javax.naming.Context;
import javax.naming.directory.Attribute;
import javax.naming.directory.Attributes;
import javax.naming.directory.BasicAttribute;
import javax.naming.directory.BasicAttributes;
import javax.naming.directory.DirContext;
import javax.naming.directory.InitialDirContext;
public class AddUser {
DirContext ldapContext;
String baseName = ",dc=XXX,dc=fr";
String serverIP = "X.X.X.X";
String modelUsername = "template";
public AddUser () {
try {
Hashtable ldapEnv = new Hashtable(11);
// paramètres de connexions du serveur
ldapEnv.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
ldapEnv.put(Context.PROVIDER_URL, "ldap://" + serverIP + ":389");
ldapEnv.put(Context.SECURITY_AUTHENTICATION, "simple");
ldapEnv.put(Context.SECURITY_PRINCIPAL, "cn=admin" + baseName);
ldapEnv.put(Context.SECURITY_CREDENTIALS, "secret");
ldapContext = new InitialDirContext(ldapEnv);
}
catch (Exception e) {
System.out.println(" bind error: " + e);
e.printStackTrace();
System.exit(-1);
}
}
//creation d'un nouvel utilisateur
public void createNew(String username,String chemin, String userPassword, String nom_de_famille ) {
try {
String distinguishedName = "cn=" + username + ",ou=" + chemin +baseName;
System.out.println(distinguishedName); //cn=newusers,ou=agenda,dc=alcatel,dc=fr
//Ajout des attributs
Attributes newAttributes = new BasicAttributes(true);
Attribute oc = new BasicAttribute("objectclass");
oc.add("person");
newAttributes.put(new BasicAttribute("userPassword", userPassword));
newAttributes.put(oc);
newAttributes.put(new BasicAttribute("cn", username));
newAttributes.put(new BasicAttribute("sn",nom_de_famille));
System.out.println("New user in database LDAP -->"+" " + username);
ldapContext.createSubcontext(distinguishedName, newAttributes);
}
catch (Exception e) {
System.out.println("create error: " + e);
e.printStackTrace();
System.exit(-1);
}
}
public static void main(String[] args) {
AddUser adc = new AddUser ();
adc.createNew("1","2","3","4") ;
//on saisit le nom de l'utilisateur
//ou va se trouver cette utilisateur dans l'arbre LDAP (ds quelle branche)
//son mot de password
//son nom de famille
}
} |
Partager