【问题标题】:Performing search queries in Active Directory with Node.js Application使用 Node.js 应用程序在 Active Directory 中执行搜索查询
【发布时间】:2020-04-15 07:22:51
【问题描述】:

我正在开发的 Web 应用程序涉及访问 Active Directory 以执行必要的授权和身份验证操作。我的应用程序的后端涉及 nodeJS,它应该使用Active Directory NPM package 来访问我组织的 Active Directory。我碰巧对 Active Directory 完全陌生,我对Active Directory NPM package 的用法有点困惑。我读了这个包的usage section,它表明它(配置对象变量)要求用户输入四个参数,如下所示:url、baseDN、用户名和密码。下面是用法部分的代码:

var ActiveDirectory = require('activedirectory');
var config = { url: 'ldap://dc.domain.com',
               baseDN: 'dc=domain,dc=com',
               username: 'username@domain.com',
               password: 'password' }
var ad = new ActiveDirectory(config);

在配置对象中的这 4 个参数中,我无法理解 baseDN 参数的作用以及在 Active Directory 中执行搜索查询时我们必须如何使用它。 (我在上图中突出显示了这个参数。)

如果有人能解释这个特定参数的用法以及在 Active Directory 中执行搜索查询时我们必须如何使用它,那就太好了。

另外,我想知道是否有人可以向我推荐一个资源或教程,该资源或教程对使用 Nodejs 应用程序在 Active Directory 中执行搜索查询提供了清晰的解释。任何帮助将不胜感激。谢谢!

【问题讨论】:

    标签: node.js authentication npm active-directory authorization


    【解决方案1】:

    基本 DN 的概念不仅限于 Node.js。所有 LDAP 查询都是一样的,无论您从哪里进行查询。

    DN 代表 Distinguished Name,它是目录中每个对象的标识符。基本 DN(或有时称为“搜索根”)定义了您的搜索范围。在大多数情况下,baseDN 将是您的域的根,例如 DC=example,DC=com(如果您的域名是 example.com)。但是,如果您只想要来自该 OU 的结果,则可以将其设置为特定 OU:OU=Users,DC=example,DC=com

    简而言之:搜索只会返回 DN 以您指定的 baseDN 结尾的结果。

    有关如何在 Node.js 中在 AD 中执行查询的文档,您必须参考为此目的创建的包,例如您找到的 activedirectory 包。但是,该软件包不再维护(4 年内未触及)。 activedirectory2 是从那里分叉出来的,并且得到了积极的维护。你最好使用它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-08
      • 2020-03-16
      相关资源
      最近更新 更多