繁体   English   中英

如何在ldap3中删除用户的属性?

[英]How to delete attribute of user in ldap3?

我知道如何修改属性。

c.modify('cn=user1,ou=users,o=company',
         {'userWorkstations': [(MODIFY_REPLACE, ['Win-7'])]})

链接显示如何删除条目。

但是如何在ldap中删除用户的属性(例如: 'userWorkstations' )?

LDAP修改请求具有可以执行的各种“ 修改类型 ”。

您可以“添加”属性的值。 您可以“删除”属性的值。 您可以“替换”属性的值。 您可以“INCREMENT”属性的值。 (仅限整数类型)

如果修改类型为“ delete ”且存在没有任何值的属性描述,则将从条目中删除指定属性的所有值。 在正常情况下,修改操作不能与删除修改类型一起使用以删除尚不存在的属性(尽管可以使用“替换”修改类型来完成此操作)。

精确的编程语言可能具有这些修改类型的API简化。

正如乔万尼在评论中所说:

在ldap3:c.modify('cn = user1,ou = users,o = company',{'userWorkstations':[(MODIFY_DELETE,['Win-7'])]}) - cannatag 2016年7月3日15: 22

我只是想指出,在ldap3中还有一个与LDAP的ORM样式交互,看起来会略有不同:

UserObj.userWorkstations - ='Win-7'

或删除属性,无论它可能具有什么值:

UserObj.userWorkstations.remove()

更改后将其提交回LDAP:UserObj.entry_commit_changes()

作为练习,将UserObj创建为适合进行这些调用的Writer对象。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM