您的当前位置:首页正文

node.js下LDAP查询的介绍

2020-11-27 来源:汇智旅游网

这篇文章主要介绍了node.js下LDAP查询实例分享的相关资料,需要的朋友可以参考下

目标:

从一个LDAP Server获取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();
 }); 
 
 });
 
});

显示全文