问题标签 [ldapjs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
966 浏览

node.js - node.js 同步函数调用进行身份验证

我是 node.js 的新手,并尝试了解它的实际工作原理。我知道默认情况下所有 node.js 函数调用都是异步的。现在我需要在我的应用程序中进行 LDAP 身份验证,我需要等待服务器响应以检查用户凭据是对还是错。ldap 部分工作正常,但我不确定如何以同步方式从函数调用返回数据. 下面是我的代码的一部分。

路由器.js

验证用户.js

0 投票
0 回答
189 浏览

javascript - ldapjs 不适用于 require

我在尝试使用“ldapjs”时遇到了一些麻烦

事实上,我坚持第一条指令

我收到此错误:

错误:尚未为上下文加载模块名称“ldapjs”:_。使用 require([]) http://requirejs.org/docs/errors.html#notloaded

我尝试了上面链接中显示的解决方案,但它也不起作用

我通过 npm install ldapjs 安装了“ldapjs”

我添加了“需要”javascript文件的脚本

谢谢

0 投票
2 回答
629 浏览

javascript - Ldap.js:嵌套搜索

我正在尝试使用 ldapjs 执行搜索,过滤器取决于第一次搜索的结果

问题是,当console.log 最后显示我的对象时,我的第二次搜索的事件“.on”还没有被特征化。

那么,如何告诉我的代码在显示对象之前等待第二个事件完成?

谢谢

0 投票
1 回答
1349 浏览

ldap - ldap_add:违反约束 (19) - 附加信息:需要 cn

我正在尝试使用以下命令在 LDAP 中添加新用户:

user.ldif文件包含的数据为

当我尝试运行 ldapadd 命令时,出现以下错误,并且找不到出错的位置:

在这里,我在 url 中运行ldapjs 服务器:'ldap://127.0.0.1:1389' 以 root 模式运行。

0 投票
2 回答
1252 浏览

ldap - ldapjs 创建模拟用户并执行搜索

我正在使用 LDAP 创建一个身份验证中间件应用程序,但我很难让搜索工作。

我正在使用 Mocha 进行测试,并创建了一个 util.js 来创建一个模拟 ldapjs 服务器:

我正在搜索使用:

没有什么是“破坏”的,但我得到的 SearchEntry messageID 为 2,而不是我想要的详细信息。

谢谢!

0 投票
1 回答
838 浏览

node.js - 我需要什么才能连接到 LDAP,并绑定到更“通用”的 DN 来搜索用户?

我有一个以前从未真正遇到过的问题,那就是从 NodeJS 应用程序连接到 LDAP。直到现在,我什至不知道有 LDAP 这样的东西,所以我一直在学习。这就是为什么这可能是一个愚蠢的问题,但我还没有找到任何简明的答案。

要求是:“使用用户从您的应用程序登录到 LDAP 并在您的登录屏幕中提供密码”。客户端有一个 LDAP,并希望使用它来验证我们应用程序的用户,因此在我们的登录屏幕中输入的用户和密码用于尝试登录 LDAP。

我知道我需要三件事来连接到 LDAP:

  • 服务器的 URL
  • 一个用户(有通行证)
  • 以及要绑定的 DN

我目前正在使用ldapjs从 NodeJS 连接。我需要用来对用户进行身份验证的操作,我理解,它是bindoperation。为此,我需要创建服务器(已经完成,没有问题)并传递 dn 和密码。我假设 DN 包括用户。就像是

CN=myuser,OU=MyOrg,OU=Users,DN=MyLdapServer,DN=com

哪个有效……前提是用户属于同一个“分支”。也就是说,如果他们都在,比如说,OU=MyOrg。这就是为什么我能够在 中“硬编码” DNbind()并通过替换来更改用户。

问题是,并非所有这些都属于同一个“分支”(我不知道这个的技术名称)。说,我有一些在OU=MyOrg,一些在OU=MyOtherOrg......

所以我不知道从用户的组织是什么开始,所以我不能让他绑定到 LDAP 客户端,因为我缺少 DN。

客户端仅向我们提供了一个示例,来自另一个使用 ASP.NET 和 ADO.NET 的应用程序,使用类似 SQL 命令的东西来获取 LDAP 信息。问题是,与 DN 等效的是一个更通用的。就像是

ldap://MyLdapServer.com/CN=[the_user_provided]

这显然奏效了。如果我尝试做同样的事情,使用更“通用”的 DN 路由(我假设它是 LDAP 树上更高的节点),提供用户密码之一,我会收到身份验证错误。

那么,怎么来的?我错过了什么?仅使用“CN=[用户名]”DN 将用户登录到 LDAP 需要什么?那是只有 ADO.NET 可以使用的东西吗?

谢谢,如果问题太笼统,对不起。

0 投票
1 回答
2235 浏览

javascript - ldapjs 连接在一段时间后超时

我有一些关于使用 LDAPjs 的 LDAP 存储库中的 searchEntry 的问题。我对 LDAP 不是很熟悉,因此我可能会在客户端实现中遗漏一些东西。问题是一段时间后 LDAP 没有来自 LDAP 服务器的响应,只是没有任何回调被调用。

0 投票
0 回答
1039 浏览

node.js - ldapjs 和 ldaps - 我需要配置额外的参数吗?

我使用了一个名为 bluepages 的 nodejs 模块,它在内部使用 ldapjs 进行基于 LDAP 的身份验证。

我检查了代码,发现它正在连接ldap://ldap-domain.com,我认为它不安全。

我将其修改为以下ldaps://ldap-domain.com:636. 我不确定这是否能确保连接安全。我需要提供额外的参数吗?

有人告诉我必须导入证书等以确保安全连接。如果是这样,我该怎么做?

0 投票
1 回答
872 浏览

ajax - 使用 ajax 客户端的 ldapjs 分页

尽管ldapjs 文档中涵盖了分页,但我不清楚如何使用 ajax 客户端在我的应用程序中实现分页。假设我对服务器进行了一个简单的调用,以在 LDAP 中搜索组织中的所有人员,最初是在具有 10 个条目的第一页中搜索,如下所示:

我希望服务器发回包含前 10 个条目的结果以及搜索产生的条目总数,以便我知道会有多少页。在服务器上的 ldapjs 代码中,我希望 pageNum 的 opts 中有一个参数,例如:

0 投票
1 回答
1641 浏览

javascript - ldapjs 等到搜索完成

我的问题是在 methodStatus 设置为 true 之前进行了返回(因此即使我可以在控制台日志中看到“成功”,返回也始终为 false)

这是控制台日志:

谢谢您的帮助 :)