2009-12-28 64 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