node.js下LDAP查询实例分享

转载  更新时间:2015年09月30日 10:37:01   投稿:hebedich   我要评论

这篇文章主要介绍了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();
    });    
    
  });
  
});

相关文章

  • nodejs acl的用户权限管理详解

    nodejs acl的用户权限管理详解

    这篇文章主要介绍了nodejs acl的用户权限管理详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • node.js中的fs.stat方法使用说明

    node.js中的fs.stat方法使用说明

    这篇文章主要介绍了node.js中的fs.stat方法使用说明,本文介绍了fs.stat的方法说明、语法、接收参数、使用实例和实现源码,需要的朋友可以参考下
    2014-12-12
  • NodeJS实现视频转码的示例代码

    NodeJS实现视频转码的示例代码

    本篇文章主要介绍了NodeJS实现视频转码的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • node.js中debug模块的简单介绍与使用

    node.js中debug模块的简单介绍与使用

    这篇文章主要介绍了node.js中debug模块的相关资料,文中通过图文介绍的非常详细,相信会对大家具有一定的参考学习价值,需要的朋友们下面来跟着小编来一起看看吧。
    2017-04-04
  • 基于html5和nodejs相结合实现websocket即使通讯

    基于html5和nodejs相结合实现websocket即使通讯

    HTML5 拥有许多引人注目的新特性,如 Canvas、本地存储、多媒体编程接口、WebSocket 等等。虽然现在大家把它捧的很火的样子,但是个人认为它还需要其他平台的支持才能真正的"火起来"
    2015-11-11
  • node.js中使用node-schedule实现定时任务实例

    node.js中使用node-schedule实现定时任务实例

    这篇文章主要介绍了node.js中使用node-schedule实现定时任务实例,包括安装方法和4种使用例子,需要的朋友可以参考下
    2014-06-06
  • Nodejs初级阶段之express

    Nodejs初级阶段之express

    这篇文章主要介绍了Nodejs初级阶段之express的相关资料,需要的朋友可以参考下
    2015-11-11
  • node.js操作mysql(增删改查)

    node.js操作mysql(增删改查)

    本文给大家分享的是使用node.js实现对mysql数据库的增删改查操作,有需要的小伙伴可以参考下,希望对大家学习node有所帮助。
    2015-07-07
  • node.js中的url.format方法使用说明

    node.js中的url.format方法使用说明

    这篇文章主要介绍了node.js中的url.format方法使用说明,本文介绍了url.format的方法说明、语法、接收参数、使用实例和实现源码,需要的朋友可以参考下
    2014-12-12
  • Yarn的安装与使用详细介绍

    Yarn的安装与使用详细介绍

    不知道大家有没有觉察到Facebook近年大招频出。Yarn是Facebook最近发布的一款依赖包安装工具。Yarn是一个新的快速安全可信赖的可以替代NPM的依赖管理工具,Yarn正式发布没几天已经迅速达到了数万赞,就可以知道大家苦NPM久已。这篇文章将详细介绍Yarn的安装与使用。
    2016-10-10

最新评论