如何通过ldapjs修改memberOf字段
How to modify memberOf field via ldapjs
当我尝试在创建成员期间在 JS dict 中传递 memberOf 字段时,甚至在 via
之后编辑它
const change = new Change({
operation: 'replace',
modification: {
[field]: value
}
});
return new Promise((resolve, reject) => {
client.modify(dn, change, err => {
client.destroy();
if (err) {
reject(err.message);
}
resolve();
});
});
它只是抛出一个错误
(node:5136) UnhandledPromiseRejectionWarning: 0000209A: SvcErr: DSID-031A107A, 问题 5003 (WILL_NOT_PERFORM)
, 数据 0
那么,我如何更改 AD 中的成员资格?
作为附带问题,我在哪里可以找到使用 ldapjs 的示例和好的文档?官方网站有点乏味
您无法更改 memberOf
属性。它是一个 Linked Attribute(也称为 "back-link")。该值是根据在其 member
属性中包含用户的组计算的。
因此,要将用户(或任何对象)添加到组中,您必须更改组的 member
属性。
AD 用户和计算机应用程序没有明确说明这一点,因为它允许您在用户属性的 "Member Of" 选项卡上将人员添加到组中。但实际上,它正在后台修改组的 member
属性。
当我尝试在创建成员期间在 JS dict 中传递 memberOf 字段时,甚至在 via
之后编辑它const change = new Change({
operation: 'replace',
modification: {
[field]: value
}
});
return new Promise((resolve, reject) => {
client.modify(dn, change, err => {
client.destroy();
if (err) {
reject(err.message);
}
resolve();
});
});
它只是抛出一个错误
(node:5136) UnhandledPromiseRejectionWarning: 0000209A: SvcErr: DSID-031A107A, 问题 5003 (WILL_NOT_PERFORM) , 数据 0
那么,我如何更改 AD 中的成员资格?
作为附带问题,我在哪里可以找到使用 ldapjs 的示例和好的文档?官方网站有点乏味
您无法更改 memberOf
属性。它是一个 Linked Attribute(也称为 "back-link")。该值是根据在其 member
属性中包含用户的组计算的。
因此,要将用户(或任何对象)添加到组中,您必须更改组的 member
属性。
AD 用户和计算机应用程序没有明确说明这一点,因为它允许您在用户属性的 "Member Of" 选项卡上将人员添加到组中。但实际上,它正在后台修改组的 member
属性。