node.js下LDAP查询实例分享


Posted in Javascript onSeptember 30, 2015

目标:

从一个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();
    });    
    
  });
  
});
Javascript 相关文章推荐
双击滚屏-常用推荐
Nov 29 Javascript
一些不错的js函数ajax
Aug 20 Javascript
JQuery从头学起第三讲
Jul 06 Javascript
js中document.write使用过程中的一点疑问解答
Mar 20 Javascript
JavaScript中的迭代器和生成器详解
Oct 29 Javascript
浅谈Sticky组件的改进实现
Mar 22 Javascript
Bootstrap中的fileinput 多图片上传及编辑功能
Sep 05 Javascript
AngularJS实现表单验证功能
Jan 09 Javascript
作为老司机使用 React 总结的 11 个经验教训
Apr 08 Javascript
js插件实现图片滑动验证码
Sep 29 Javascript
vue-dplayer 视频播放器实例代码
Nov 08 Javascript
vscode+gulp轻松开发小程序的完整步骤
Oct 18 Javascript
Javascript中replace()小结
Sep 30 #Javascript
利用jQuery实现漂亮的圆形进度条倒计时插件
Sep 30 #Javascript
谈谈JavaScript异步函数发展历程
Sep 29 #Javascript
JavaScript 对象深入学习总结(经典)
Sep 29 #Javascript
深入浅析JavaScript中对事件的三种监听方式
Sep 29 #Javascript
jQuery中的ajax async同步和异步详解
Sep 29 #Javascript
网页从弹窗页面单选框传值至父页面代码分享
Sep 29 #Javascript
You might like
php自动给网址加上链接的方法
2015/06/02 PHP
分享PHP计算两个日期相差天数的代码
2015/12/23 PHP
centos下file_put_contents()无法写入文件的原因及解决方法
2017/04/01 PHP
另类调用flash无须激活的方法
2006/12/27 Javascript
javascript下高性能字符串连接StringBuffer类
2010/08/16 Javascript
JavaScript判断访问的来源是手机还是电脑,用的哪种浏览器
2013/12/12 Javascript
PHP 数组current和next用法分享
2015/03/05 Javascript
jquery插件jSignature实现手动签名
2015/05/04 Javascript
requireJS使用指南
2016/04/27 Javascript
jQuery代码实现图片墙自动+手动淡入淡出切换效果
2016/05/09 Javascript
Ionic如何实现下拉刷新与上拉加载功能
2016/06/03 Javascript
轮播图组件js代码
2016/08/08 Javascript
js点击任意区域弹出层消失实现代码
2016/12/27 Javascript
JS中Select下拉列表类(支持输入模糊查询)功能
2017/01/17 Javascript
Jquery-data的三种用法
2017/04/18 jQuery
微信小程序 wx:for的使用实例详解
2017/04/27 Javascript
Bootstrap table使用方法汇总
2017/11/17 Javascript
深入浅析python中的多进程、多线程、协程
2016/06/22 Python
简单掌握Python中glob模块查找文件路径的用法
2016/07/05 Python
使用Python读写及压缩和解压缩文件的示例
2016/07/08 Python
Python实现中一次读取多个值的方法
2018/04/22 Python
Python之两种模式的生产者消费者模型详解
2018/10/26 Python
对Pycharm创建py文件时自定义头部模板的方法详解
2019/02/12 Python
Python利用itchat库向好友或者公众号发消息的实例
2019/02/21 Python
Python完全识别验证码自动登录实例详解
2019/11/24 Python
Lacoste澳大利亚官网:服装、鞋类及配饰
2018/11/14 全球购物
模范家庭事迹材料
2014/02/10 职场文书
车间安全生产标语
2014/06/06 职场文书
三严三实心得体会范文
2014/10/13 职场文书
2019年度行政文员工作计划范本!
2019/07/04 职场文书
25句企业管理语录:助你迅速打开思路,句句经典!
2020/01/14 职场文书
Python+Appium实现自动抢微信红包
2021/05/21 Python
Mysql数据库命令大全
2021/05/26 MySQL
Python anaconda安装库命令详解
2021/10/16 Python
叶县这家生产军用电台的兵工厂,人称“四机部”,走出一上将
2022/02/18 无线电
MySQL Server层四个日志的实现
2022/03/31 MySQL