2016-10-04 36 views
3

我試圖將條目添加到我像這樣創造了一個「政策」容器:如何在LDAP3中創建一個新的objectClass?

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

並不能找到關於如何創建一個新的對象類,以適應這些條目任何好的文檔。如果我嘗試使用已經存在的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'])}) 

但這返回錯誤,似乎堅持不管一個「在屬性無效的屬性類型」我爲「組織單位」轉換了什麼值。我在網上搜索了一些關於這個問題的幫助,但是關於LDAP3的文檔相當稀少。任何幫助深表感謝。

回答

3

在OpenLDAP中,您無法通過ldap請求創建新的對象類 - 您必須將它們添加到服務器配置中。

請參閱http://www.openldap.org/doc/admin24/schema.html瞭解有關模式更改的OpenLDAP 2.4文檔。


創建自己的對象類需要仔細規劃:

  • 它應該是一個抽象,結構或輔助對象類?
  • 你的objectClass提供了哪些屬性?
  • 哪些屬性是必需的?
相關問題