Welcome 微信登录

首页 / 脚本样式 / JavaScript / 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();});});});