我知道如何修改属性。
c.modify('cn=user1,ou=users,o=company',
{'userWorkstations': [(MODIFY_REPLACE, ['Win-7'])]})
此link显示了如何删除条目。
但是如何在ldap?
中删除用户的属性(例如:'userWorkstations'
)
答案 0 :(得分:2)
LDAP修改请求有各种" Modification Types"可以执行。
你可以"添加"属性的值。 你可以"删除"属性的值。 你可以" REPLACE"属性的值。 你可以" INCREMENT"属性的值。 (仅限整数类型)
如果修改类型为" 删除"并且存在没有任何值的属性描述,然后将从条目中删除指定属性的所有值。在正常情况下,修改操作不能与删除修改类型一起使用以删除尚不存在的属性(尽管可以使用" replace"修改类型来完成此操作)。
精确的编程语言可能会简化这些修改类型的API。
答案 1 :(得分:1)
Giovanni在评论中说:
ldap3中的:c.modify(' cn = user1,ou = users,o = company',{' userWorkstations': [(MODIFY_DELETE,[' Win-7'])]}) - cannatag 7月3日和16日15:22
我只想指出,在ldap3中还有一个与LDAP的ORM风格交互,看起来会略有不同:
UserObj.userWorkstations - =' Win-7'
或删除属性,无论它可能具有什么值:
UserObj.userWorkstations.remove()
更改后将其提交回LDAP: UserObj.entry_commit_changes()
将UserObj创建为适合进行这些调用的Writer对象。