javascript - 如何通过ldapjs修改memberOf字段

标签 javascript node.js active-directory ldap 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 (也称为“反向链接”)。该值是根据member 属性中包含该用户的组计算的。

因此,要将用户(或任何对象)添加到组中,您必须更改组的 member 属性。

AD 用户和计算机应用程序并没有明确说明这一点,因为它允许您在用户属性的“成员”选项卡上将人员添加到组中。但实际上,它正在后台修改组的 member 属性。

关于javascript - 如何通过ldapjs修改memberOf字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59178154/

相关文章:

javascript - 如何修复 npm install React 列表过滤器

c# - 从 PrincipalContext 中查找域组件

jsp - 使用 Tomcat 6 中的 server.xml 连接时如何从 Active Directory 获取电子邮件

javascript - Phonegap无法读取本地音频文件

javascript - 将 MySQL 存储过程与 Javascript 对象结合使用

javascript - 大量回调的 NodeJS 性能

javascript - Azure 在隐式流程登录期间使用错误的回调 URL

Dojo 脚本中的 Javascript 函数无需调用即可运行

javascript - Tableau HTML 嵌入在 Chrome 中不起作用

javascript - 如何将十六进制字符串转换为字节数组,以及十六进制字符串中的字节数组?