>  기사  >  웹 프론트엔드  >  node.js의 LDAP 쿼리 소개

node.js의 LDAP 쿼리 소개

不言
不言원래의
2018-06-30 14:00:333159검색

이 글에서는 주로 node.js에서 LDAP 쿼리 예제를 공유하기 위한 관련 정보를 소개합니다. 필요한 친구는 참고하면 됩니다.

목표:

LDAP 서버에서 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();
    });    
    
  });
  
});

위 내용은 전체 내용입니다. 이 글의 내용이 모든 분들의 학습에 도움이 되기를 바랍니다. 더 많은 관련 내용을 보시려면 PHP 중국어 웹사이트를 주목해주세요!

관련 추천:

node.js를 MongoDB 데이터베이스에 연결하는 2가지 방법에 대해

간단한 채팅방을 만드는 Node.js 방법

NodeJs 양식 데이터 형식 전송 파일 방법

위 내용은 node.js의 LDAP 쿼리 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.