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 相关文章推荐
XMLHTTPRequest的属性和方法简介
Nov 23 Javascript
Iframe 自动适应页面的高度示例代码
Feb 26 Javascript
JavaScript遍历table表格中的某行某列并打印其值
Jul 08 Javascript
js获取checkbox复选框选中的选项实例
Aug 24 Javascript
JS将滑动门改为选项卡(需鼠标点击)的实现方法
Sep 27 Javascript
Jquery uploadify 多余的Get请求(404错误)的解决方法
Jan 26 Javascript
详解webpack3如何正确引用并使用jQuery库
Aug 26 jQuery
原生JS实现ajax与ajax的跨域请求实例
Dec 01 Javascript
解决v-for中使用v-if或者v-bind:class失效的问题
Sep 25 Javascript
react quill中图片上传由默认转成base64改成上传到服务器的方法
Oct 30 Javascript
Vue防止白屏添加首屏动画的实例
Oct 31 Javascript
vue.js 子组件无法获取父组件store值的解决方式
Nov 08 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重定向的三种方法分享
2012/02/22 PHP
解析PHP多种序列化与反序列化的方法
2013/06/06 PHP
php中使用key,value,current,next和prev函数遍历数组的方法
2015/03/17 PHP
php关闭warning问题的解决方法
2016/05/17 PHP
thinkphp5 URL和路由的功能详解与实例
2017/12/26 PHP
jQuery Validation实例代码 让验证变得如此容易
2010/10/18 Javascript
jquery下将选择的checkbox的id组成字符串的方法
2010/11/28 Javascript
Jquery仿IGoogle实现可拖动窗口示例代码
2014/08/22 Javascript
javascript中call,apply,bind的用法对比分析
2015/02/12 Javascript
js运动应用实例解析
2015/12/28 Javascript
jQuery实现区域打印功能代码详解
2016/06/17 Javascript
浅谈js的ajax的异步和同步请求的问题
2016/10/07 Javascript
Bootstrap面板学习使用
2017/02/09 Javascript
详解Node使用Puppeteer完成一次复杂的爬虫
2018/04/18 Javascript
vue.js表单验证插件(vee-validate)的使用教程详解
2019/05/23 Javascript
Swiper.js实现移动端元素左右滑动
2019/09/08 Javascript
Vue自定义表单内容检查rules实例
2020/10/30 Javascript
微信小程序实现滚动Tab选项卡
2020/11/16 Javascript
[03:42]2016国际邀请赛中国区预选赛首日现场玩家采访
2016/06/26 DOTA
[01:05:07]DOTA2-DPC中国联赛 正赛 DLG vs Dragon BO3 第一场2月1日
2021/03/11 DOTA
python实现哈希表
2014/02/07 Python
Python3学习笔记之列表方法示例详解
2017/10/06 Python
python中列表和元组的区别
2017/12/18 Python
对python中不同模块(函数、类、变量)的调用详解
2019/07/16 Python
python Tcp协议发送和接收信息的例子
2019/07/22 Python
Python数据可视化:泊松分布详解
2019/12/07 Python
美国领先的在线旅游网站:Orbitz
2018/11/05 全球购物
自荐信格式范文
2013/10/07 职场文书
称象教学反思
2014/02/03 职场文书
安康杯竞赛活动总结
2014/05/05 职场文书
法人委托书范本
2014/09/15 职场文书
酒店办公室主任岗位职责
2015/04/01 职场文书
小学四年级班主任工作经验交流材料
2015/11/02 职场文书
导游词之镜泊湖
2019/12/09 职场文书
Vue vee-validate插件的简单使用
2021/06/22 Vue.js
Java基于Dijkstra算法实现校园导游程序
2022/03/17 Java/Android