node.js下LDAP查詢實例分享
更新時間:2015年09月30日 10:37:01 投稿:hebedich
這篇文章主要介紹了node.js下LDAP查詢實例分享的相關(guān)資料,需要的朋友可以參考下
目標(biāo):
從一個LDAP Server獲取uid=kxh的用戶數(shù)據(jù)
LDAP地址為:ldap://10.233.21.116:389
在工程根目錄中,先npm一個LDAP的訪問庫ldpajs
npm install ldapjs
在工程根目錄中,創(chuàng)建一個app.js
var ldap = require("ldapjs");
//創(chuàng)建LDAP client,把服務(wù)器url傳入
var client = ldap.createClient({
url: 'ldap://10.203.24.216:389'
});
//創(chuàng)建LDAP查詢選項
//filter的作用就是相當(dāng)于SQL的條件
var opts = {
filter: '(uid=kxh)', //查詢條件過濾器,查找uid=kxh的用戶節(jié)點
scope: 'sub', //查詢范圍
timeLimit: 500 //查詢超時
};
//將client綁定LDAP Server
//第一個參數(shù):是用戶,必須是從根節(jié)點到用戶節(jié)點的全路徑
//第二個參數(shù):用戶密碼
client.bind('uid=supbind,cn=users,dc=tiger,dc=com', '123456', function (err, res1) {
//開始查詢
//第一個參數(shù):查詢基礎(chǔ)路徑,代表在查詢用戶信心將在這個路徑下進行,這個路徑是由根節(jié)開始
//第二個參數(shù):查詢選項
client.search('DC=tiger,DC=com', opts, function (err, res2) {
//查詢結(jié)果事件響應(yīng)
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();
});
//查詢結(jié)束
res2.on('end', function(result) {
console.log('search status: ' + result.status);
//unbind操作,必須要做
client.unbind();
});
});
});
相關(guān)文章
輕松創(chuàng)建nodejs服務(wù)器(8):非阻塞是如何實現(xiàn)的
這篇文章主要介紹了輕松創(chuàng)建nodejs服務(wù)器(8):非阻塞是如何實現(xiàn)的,本文著重分析非阻塞的實現(xiàn),對代碼進行了分解,需要的朋友可以參考下2014-12-12
Node.js?中的?module.exports?與?exports區(qū)別介紹
這篇文章主要介紹了Node.js中的module.exports與exports區(qū)別介紹,每個模塊中都有module對象,存放了當(dāng)前模塊相關(guān)的信息,更多相關(guān)內(nèi)容需要的朋友可以參考一下2022-09-09

