Node.js 使用 ldapjs 进行 LDAP 查询的完整示例
作者:星河时间:2026-10-29 15:09:46浏览:561
本文介绍如何在 Node.js 环境中使用 ldapjs 库连接 LDAP 服务器。通过 npm 安装依赖后,创建客户端并配置查询选项,包括过滤器、作用域和超时时间。示例代码演示了如何绑定用户、执行搜索并处理结果,最终完成 uid 为 kxh 的用户数据获取。
Node.js LDAP 查询配置与实现
目标:
从指定的 LDAP 服务器中提取 uid 为 kxh 的用户信息。
目标 LDAP 服务器的地址设定为:ldap://10.233.21.116:389。
在项目根目录下,首先通过 npm 安装用于访问 LDAP 的库 ldpajs。
执行命令:npm install ldapjs。
在项目根目录下新建一个名为 app.js 的文件。
var ldap = require("ldapjs");
//创建LDAP client,把服务器url传入
var client = ldap.createClient({
url: 'ldap://10.203.24.216:389'
});
//创建LDAP查询选项
//filter的作用就是相当于SQL的条件
var opts = {
filter: '(uid=kxh)', //查询条件过滤器,查找uid=kxh的用户节点
scope: 'sub', //查询范围
timeLimit: 500 //查询超时
};
//将client绑定LDAP Server
//第一个参数:是用户,必须是从根节点到用户节点的全路径
//第二个参数:用户密码
client.bind('uid=supbind,cn=users,dc=tiger,dc=com', '123456', function (err, res1) {
//开始查询
//第一个参数:查询基础路径,代表在查询用户信心将在这个路径下进行,这个路径是由根节开始
//第二个参数:查询选项
client.search('DC=tiger,DC=com', opts, function (err, res2) {
//查询结果事件响应
res2.on('searchEntry', function (entry) {
//获取查询的对象
var user = entry.object;
var userText = JSON.stringify(user,null,2);
console.log(userText);
});
res2.on('searchReference', function(referral) {
console.log('referral: ' + referral.uris.join());
});
//查询错误事件
res2.on('error', function(err) {
console.error('error: ' + err.message);
//unbind操作,必须要做
client.unbind();
});
//查询结束
res2.on('end', function(result) {
console.log('search status: ' + result.status);
//unbind操作,必须要做
client.unbind();
});
});
});
作者最新文章
Node.js 安装配置与第一个 HTTP 服务器编写
2026-11-05 11:41:40
怎么使用 nvm 管理并平滑升级 Node.js 版本
2026-11-04 23:15:07
Node.js 怎么使用 zlib 模块解压 gzip 和 deflate
2026-11-03 23:40:50
直接覆盖安装还是用版本管理器?Node.js 升级方式对比
2026-11-03 22:59:07
Express.js 是什么:Node.js Web 框架核心概念与适用场景
2026-11-03 20:00:12
