| 12
 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