我如何使用ldapjs在活动目录中设置帐户选项?

编程入门 行业动态 更新时间:2024-10-06 04:11:36

我<a href=https://www.elefans.com/category/jswz/34/1771452.html style=如何使用ldapjs在活动目录中设置帐户选项?"/>

我如何使用ldapjs在活动目录中设置帐户选项?

我已使用nodejs的ldapjs模块与我的active directory进行交互。

我可以使用这些功能将用户绑定并添加到活动目录中...

ldapOptions = {
  url: //my ldap server ip,
  connectionTimeOut: 30000,
  reconnect: true
}

const ldapClient = ldapJs.createClient(ldapOptions)

ldapClient.bind(adminDn, adminPass, (error) => {
  if (error) {
    // break the code
  } else {
      let newUser = {
            cn: username,
            sn: username,
            description: // some desc,
            objectClass: ['inetOrgPerson', 'user', 'person', 'top'],
            userPassword: password
        }

       ldapClient.add(dn, newUser, err => {
            if (err) {
                console.log(err)
                // break the code
            } else {
                console.log('success')
             }
    }

}

但是在添加过程之后,帐户是disabled,用户must change password是下一次登录。是默认的活动目录策略还是ldapjs的默认策略?如果可以的话,如何更改默认值...

回答如下:

您是否能够手动启用以这种方式创建的帐户?如果没有,我怀疑密码实际上没有设置。

userPassword属性仅在启用后才能使用。即使这样,它实际上只是真实密码属性userPassword的别名。但是unicodePwd需要一些非常特定的格式。

您还必须确保与AD的安全连接,然后才能设置密码。您可以通过连接到636的LDAPS(基于SSL的LDAP)端口来进行此操作。unicodePwd库允许您仅使用服务器name前面的unicodePwd-您不能使用IP,因为SSL证书上的名称必须与您用于连接的域名匹配。并且运行此证书的计算机必须信任SSL证书。这可能会导致您出现问题。

我还注意到您缺少ldapjs属性,这是必填属性。我看到您正在将ldaps://属性设置为sAMAccountName,但是该属性用于用户的姓氏(姓)。

所有这些都可以一起尝试(只需在顶部更改域名):

sn

我不是NodeJS开发人员,所以我从未真正使用username库完成此操作。但是我已经用C#完成了所有这一切。这应该使您非常接近。让我知道这是否给您带来任何错误。我怀疑任何错误都可能来自SSL证书。

我找到的密码正确的编码ldapOptions = { url: "ldaps://example", connectionTimeOut: 30000, reconnect: true } const ldapClient = ldapJs.createClient(ldapOptions) ldapClient.bind(adminDn, adminPass, (error) => { if (error) { // break the code } else { let newUser = { cn: username, sAMAccountName: username, description: // some desc, objectClass: 'user', unicodePwd: new Buffer('"' + password + '"', 'utf16le').toString(), userAccountControl: 512 //NORMAL_ACCOUNT } ldapClient.add(dn, newUser, err => { if (err) { console.log(err) // break the code } else { console.log('success') } } } }

更多推荐

我如何使用ldapjs在活动目录中设置帐户选项?

本文发布于:2024-05-13 09:11:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1759345.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:如何使用   帐户   选项   目录中   ldapjs

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!