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 相关文章推荐
javascript 写类方式之九
Jul 05 Javascript
判断浏览器的javascript版本的代码
Sep 03 Javascript
实测jquery data()如何存值
Aug 18 Javascript
JavaScript学习笔记之数组的增、删、改、查
Mar 23 Javascript
Javascript中常用的检测方法小结
Oct 08 Javascript
JS实现线性表的顺序表示方法示例【经典数据结构】
Apr 11 Javascript
vue中如何实现变量和字符串拼接
Jun 19 Javascript
vue做网页开场视频的实例代码
Oct 20 Javascript
JS遍历JSON数组及获取JSON数组长度操作示例【测试可用】
Dec 12 Javascript
浅谈关于JS下大批量异步任务按顺序执行解决方案一点思考
Jan 08 Javascript
vue的注意规范之v-if 与 v-for 一起使用教程
Aug 04 Javascript
基于Vue中使用节流Lodash throttle详解
Oct 30 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的session cookie错误
2009/08/09 PHP
php生成xml简单实例代码
2009/12/16 PHP
基于empty函数的输出详解
2013/06/17 PHP
JavaScript和JQuery的鼠标mouse事件冒泡处理
2015/06/19 Javascript
js中的关联数组与普通数组详解
2016/07/27 Javascript
jQuery EasyUI tree 使用拖拽时遇到的错误小结
2016/10/10 Javascript
微信小程序 label 组件详解及简单实例
2017/01/10 Javascript
Vue form 表单提交+ajax异步请求+分页效果
2017/04/22 Javascript
Three.js的使用及绘制基础3D图形详解
2017/04/27 Javascript
微信小程序之数据双向绑定与数据操作
2017/05/12 Javascript
jQuery滚动插件scrollable.js用法分析
2017/05/25 jQuery
Angular使用 ng-img-max 调整浏览器中的图片的示例代码
2017/08/17 Javascript
ionic App问题总结系列之ionic点击系统返回键退出App
2017/08/19 Javascript
vue页面更新patch的实现示例
2020/03/25 Javascript
Python3实现发送QQ邮件功能(附件)
2020/12/23 Python
使用python编写简单的小程序编译成exe跑在win10上
2018/01/15 Python
解决Python 爬虫URL中存在中文或特殊符号无法请求的问题
2018/05/11 Python
python RabbitMQ 使用详细介绍(小结)
2018/11/08 Python
python re正则匹配网页中图片url地址的方法
2018/12/20 Python
Python Django 页面上展示固定的页码数实现代码
2019/08/21 Python
python输出带颜色字体实例方法
2019/09/01 Python
python集合能干吗
2020/07/19 Python
最新PyCharm 2020.2.3永久激活码(亲测有效)
2020/11/26 Python
IE兼容css3圆角的实现代码
2011/07/21 HTML / CSS
浅析几个CSS3常用功能的写法
2014/06/05 HTML / CSS
电气专业推荐信范文
2013/11/18 职场文书
工程采购员岗位职责
2014/03/09 职场文书
亮化工程实施方案
2014/03/17 职场文书
经销商年会策划方案
2014/05/29 职场文书
银行青年文明号事迹材料
2014/05/31 职场文书
2015大学自主招生自荐信范文
2015/03/04 职场文书
2015年医务科工作总结范文
2015/05/26 职场文书
Python中zipfile压缩包模块的使用
2021/05/14 Python
24年收藏2000多部退役军用电台
2022/02/18 无线电
《月歌。》宣布制作10周年纪念剧场版《RABBITS KINGDOM THE MOVIE》
2022/04/02 日漫
JS setTimeout与setInterval的区别
2022/04/20 Javascript