[JNDI/LDAP] inserer des données dans annuaire LDAP?

inserer des données dans annuaire LDAP? [JNDI/LDAP] - Java - Programmation

Marsh Posté le 21-06-2006 à 14:51:26    

Bonjour,
 
Apres multiple recherche sur internet je n'ai pas reussi a trouver de bon exemples de code qui permettent d'ajouter des entrées et ses attributs dans un annuaire LDAP.
 
C'est pour cela que je viens à vous en esperant qu'une personne s'y connaisse en jndi et s'il pouvait mettre un exemple de comment insérer des données dans un annuaire sa serait sympa merci d'avance
 
Je vous explique mon projet en qq lignes :
 
je dois récuperer un fichier texte qui se trouve sur un serveur X, ce fichier est généré tout les soirs en batch, il ressemble à ca :
 

Citation :

dn: CN=AS654,OU=Utilisateurs,DC=GICM,DC=platine,DC=org
changetype: Modify
ADRAFFECTATION1: 32 RUE MIRABEAU
ADRAFFECTATION2:
ADRAFFECTATION3: 29480 LE RELECQ KERHUON
ADRAFFECTATION4:
ADRAFFECTATION5: FRANCE
CODEAFFECTATION: 923067
...
FinCollaborateur
 
dn: CN=A0158,OU=Utilisateurs,DC=GICM,DC=platine,DC=org
changetype: Modify
ADRAFFECTATION1: ALLEE LOUIS LICHOU
ADRAFFECTATION2:
ADRAFFECTATION3: 29480 LE RELECQ KERHUON
ADRAFFECTATION4:
ADRAFFECTATION5: FRANCE
CODEAFFECTATION: 918542
...


 
Je dois grace à ce fichier alimenter mon annuaire LDAP ce trouvant sur un autre serveur, pour cela j'utilise le langage java et plus particulierement jndi qui me permet d'acceder donc à l'annuaire. j'arrive a m'y connecter mais je n'ai pas encore compris comment y insérer des données
 
code que j'ai compris du jndi :
 

Code :
  1. import java.util.Map;
  2. import javax.naming.*;
  3. import javax.naming.directory.*;
  4. import javax.naming.Context;
  5. import javax.naming.InitialContext;
  6. import javax.naming.NamingException;
  7. import java.util.Hashtable;
  8. class Testjava
  9. {
  10. public static void main(String[] args)
  11. {
  12. / Set up environment for creating initial context
  13. Hashtable env = new Hashtable(11);
  14. env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory" );
  15. env.put(Context.PROVIDER_URL,"ldap://localhost:389/dc=platine,dc=org" );
  16. // Authenticate  
  17. env.put(Context.SECURITY_AUTHENTICATION, "simple" );
  18. env.put(Context.SECURITY_PRINCIPAL, "cn=root, dc=platine, dc=org" );
  19. env.put(Context.SECURITY_CREDENTIALS, "xxxxxx" );
  20. try
  21. {
  22. DirContext ctx = new InitialDirContext(env);
  23. System.out.println("Connection au serveur LDAP done" );
  24. // do something useful with ctx  
  25. Attributes answer = ctx.getAttributes("cn=Claire Chazal, ou=personnel, ou=GICM" );
  26. for (NamingEnumeration ae = answer.getAll(); ae.hasMore();)
  27. {
  28. Attribute attr = (Attribute)ae.next();
  29. System.out.println("attribute: " + attr.getID());
  30. for (NamingEnumeration e = attr.getAll(); e.hasMore();
  31. System.out.println("value: " + e.next())); }
  32. ctx.close();
  33. System.out.println("Deconnection done" );
  34. }
  35. catch (NamingException e)
  36. {
  37. System.out.println("erreur ici: " );
  38. e.printStackTrace();
  39. } } }


 
A savoir que se programme marche bien , il se connecte et me retourne les attributs et la valeur des attributs de la personne.
 
Mais je recherche maintenant à insérer moi meme de nouvelle personne

Reply

Marsh Posté le 21-06-2006 à 14:51:26   

Reply

Marsh Posté le 21-06-2006 à 15:23:25    

Reply

Marsh Posté le 21-06-2006 à 15:45:38    

Merci de la réponse rapide, mais j'ai commencé a programmé avec le package sun du jndi (installé d'origine) j'aimerai eviter d'installer un autre package a savoir celui de Novell si possible  ;)

Reply

Marsh Posté le 21-06-2006 à 15:56:21    

Si tu veux moi j'y connais rien en java ! j'ai tapé java ldap dans google....


---------------
2 * yo = yoyo
Reply

Marsh Posté le 21-06-2006 à 16:00:11    

http://www-128.ibm.com/developerwo [...] 01/#N108E8
 
non ?
 
et puis sinon : http://www.google.com/search?q=java+jndi+ldap+insert


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed