2009-12-28 9 views
1

J'utilise Net :: LDAP pour effectuer certaines opérations sur un serveur Openldap.Opérations batch ldap côté serveur

Je suis intéressé à effectuer un certain nombre d'opérations simultanées, O1, O2 .. On. La manière normale de le faire serait de les exécuter séquentiellement avec chaque opération impliquant au moins 1 aller-retour au serveur. Je veux effectuer toutes ces opérations en un seul aller-retour.

Est-ce que cela peut être réalisé? Je suis surtout intéressé par l'ajout d'une structure de répertoire de 2-3 niveaux en une seule fois.

Répondre

2

Le protocole LDAP ne comporte pas d'opérations par lots ou de correspondance, et chaque opération doit être effectuée séparément sur chaque entrée du DIT. Si vous essayez d'effectuer des modifications en masse ou en masse, vous devriez toujours jeter un oeil aux programmes en ligne de commande ldapadd and ldapmodify, ils fonctionnent au format ldif et (bien sûr) effectuer des opérations de séquence spécifiées dans un fichier ldif donné.

Dans votre cas, vous pouvez utiliser ou dans votre cas Net::LDAP::LDIF pour créer un fichier ldif, et appeler ldapadd ou ldapmodify avec ce fichier comme argument.

+0

Salut, puis-je ajouter cet objet LDIF via le module Net :: Ldap (et non les commandes ldaoadd/modify)? Je n'ai pas trouvé une telle méthode dans les docs. – baskin

+0

Je ne pense pas, le format LDIF est pour les opérations d'exportation/importation en vrac, et c'est juste un raccourci pour ne pas faire les opérations ldap vous-même; En fait, je ne connais aucune API qui supporte les opérations LDIF pour les modifications directes de LDAP. Pourquoi éviter une chose très perl-ish en redirigeant vers les commandes ldapadd/ldapmodify? –

+0

>> "peur d'une chose très perl-ish en passant par ldapadd/ldapmodify" Il est temps de devenir extraverti alors :). – baskin