目标:
从一个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();
});
});
});
本文地址:https://www.stayed.cn/item/2504
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我