3

我正在尝试将条目添加到我创建的“策略”容器中,如下所示:

ldap_connection.add('OU=Policy, DC=BERT, DC=LOCAL', 'organizationalUnit'))

并且找不到任何关于如何创建新的 objectClass 来容纳这些条目的好的文档。如果我尝试使用已经存在的 objectClass 添加条目,如下所示:

ldap_connection.add('CN=policy1, OU=Policy, DC=BERT, DC=LOCAL',attributes={'objectClass': 'person'})

这样可行。但我想做这样的事情:

ldap_connection.add('CN=policy1, OU=Policy, DC=BERT, DC=LOCAL',attributes={'objectClass': 'policy'})

我试过使用 MODIFY_ADD:

ldap_connection.modify('OU=Policy1, DC=BERT, DC=LOCAL',{'organizationalUnit': (MODIFY_ADD, ['policy'])})

但这会返回一个“属性中的无效属性类型”错误,无论我为“organizationalUnit”切换什么值,该错误似乎都会持续存在。我在互联网上搜索了有关此问题的某种帮助,但有关 LDAP3 的文档非常稀少。任何帮助深表感谢。

4

1 回答 1

3

在 OpenLDAP 中,您不能通过 ldap 请求创建新的对象类 - 您必须将它们添加到服务器配置中。

有关模式更改的 OpenLDAP 2.4 文档,请参见http://www.openldap.org/doc/admin24/schema.html


创建自己的 objectClass 需要仔细规划:

  • 它应该是抽象、结构还是辅助对象类?
  • 您的 objectClass 提供哪些属性?
  • 其中哪些属性是必需的?
于 2016-10-05T05:33:38.120 回答