DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> node.js下LDAP查詢實例分享
node.js下LDAP查詢實例分享
編輯:關於JavaScript     

目標:

從一個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();
    });    
    
  });
  
});

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved