2009-12-28 136 views
1

我正在使用Net :: LDAP在OpenLDAP服務器上執行一些操作。ldap服務器端批量操作

我有興趣進行一些同時操作,O1,O2 ..在。正常的做法是按順序執行它們,每個操作至少需要1次往返服務器。我想在一次往返中執行所有這些操作。

這可以實現嗎? 我最感興趣的是一次添加2-3層深的目錄結構。

回答

2

LDAP協議沒有批處理或匹配更多的操作,並且每個操作必須在DIT中的每個條目上單獨執行。

如果你試圖做大量添加或批量修改,您應經常看看ldapadd and ldapmodify命令行程序,它們在ldif格式操作,和(當然)在給定的ldif文件中指定的順序操作執行。

對於您的情況,您可以使用或在您的案例Net::LDAP::LDIF中創建ldif文件,並將該文件作爲參數調用ldapadd或ldapmodify。

+0

嗨,我可以通過Net :: Ldap模塊(而不是ldaoadd /修改命令)添加此LDIF對象嗎?我沒有在文檔中找到任何此類方法。 – baskin 2009-12-29 15:24:21

+0

我不這麼認爲,LDIF格式用於批量導出/導入操作,它只是不自己執行ldap操作的簡寫;實際上我不知道任何支持LDIF操作的API直接修改LDAP。爲什麼要通過管道連接到ldapadd/ldapmodify命令來避開非常危險的事情? – 2010-01-04 09:39:53

+0

>>「通過滾動到ldapadd/ldapmodify避開非常流行的東西」 時間成爲一個外向的時候:)。 – baskin 2010-01-11 17:24:15