node.js下LDAP查询实例分享

时间:2021-05-26

目标:

从一个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(); }); }); });

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章