我想使用Node.js ldapjs 客户端 api #modify来删除 LDAP 条目的属性。
通过 shell,ldapmodify ... -f removeAttribute.ldif
它可以使用以下 ldif 文件工作:
dn: uid=user,dc=test
changetype: modify
delete: myAttribute
按照 ldapjs 文档,我必须使用操作'delete'
并将属性添加到修改中(...删除修改中引用的属性(和所有值) ...)。
如果我尝试使用 ldapjs 执行此操作,则会出现错误。
let dn = 'uid=user,dc=test';
let change = { operation : 'delete', modification: { myAttribute: null } ;
client.modify(dn, change, err => { ... });
...导致错误无法读取 null 的属性“toString”
let dn = 'uid=user,dc=test';
let change = { operation : 'delete', modification: { myAttribute: oldValue } };
client.modify(dn, change, err => { ... });
... 导致InappropriateMatchingError
所以我的问题是:如果我想删除一个属性,我必须如何准备更改对象?