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倒计时页面跳转实例小结
Sep 11 Javascript
angularjs基础教程
Dec 25 Javascript
jquery中checkbox全选失效的解决方法
Dec 26 Javascript
jquery使用animate方法实现控制元素移动
Mar 27 Javascript
JavaScript原生对象常用方法总结(推荐)
May 13 Javascript
老司机带你解读jQuery插件开发流程
May 16 Javascript
微信小程序 location API实例详解
Oct 02 Javascript
概述javascript在Google IE中的调试技巧
Nov 24 Javascript
BootStrap 可编辑表Table格
Nov 24 Javascript
Node.js操作redis实现添加查询功能
May 25 Javascript
JavaScript输入分钟、秒倒计时技巧总结(附代码)
Aug 17 Javascript
ES6知识点整理之函数数组参数的默认值及其解构应用示例
Apr 17 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中debug_backtrace、debug_print_backtrace和匿名函数用法实例
2014/12/01 PHP
PHP实现的简易版图片相似度比较
2015/01/07 PHP
Laravel与CI框架中截取字符串函数
2016/05/08 PHP
JavaScript实现16进制颜色值转RGB的方法
2015/02/09 Javascript
window.close(); 关闭浏览器窗口js代码的总结介绍
2016/07/14 Javascript
Vue.js实现一个自定义分页组件vue-paginaiton
2016/09/05 Javascript
用自定义图片代替原生checkbox实现全选,删除以及提交的方法
2016/10/18 Javascript
微信小程序 image组件binderror使用例子与js中的onerror区别
2017/02/15 Javascript
vue2.0父子组件间通信的实现方法
2017/04/19 Javascript
JQuery 获取Dom元素的实例讲解
2017/07/08 jQuery
简单实现js进度条加载效果
2020/03/25 Javascript
微信小程序自定义组件实现tabs选项卡功能
2018/07/14 Javascript
微信小程序后台持续定位功能使用详解
2019/08/23 Javascript
vue实现员工信息录入功能
2020/06/11 Javascript
解决vant-UI库修改样式无效的问题
2020/11/03 Javascript
如何在Vue项目中添加接口监听遮罩
2021/01/25 Vue.js
[05:17]DOTA2誓师:今天我们在这里 明天TI4等我!
2014/03/26 DOTA
Python3实现的画图及加载图片动画效果示例
2018/01/19 Python
Python进度条实时显示处理进度的示例代码
2018/01/30 Python
python爬取淘宝商品详情页数据
2018/02/23 Python
解决django 新增加用户信息出现错误的问题
2019/07/28 Python
基于python3实现倒叙字符串
2020/02/18 Python
Pycharm调试程序技巧小结
2020/08/08 Python
filter使用python3代码进行迭代元素的实例详解
2020/12/03 Python
css3实现3D文本悬停改变效果的示例代码
2019/01/16 HTML / CSS
adidas瑞典官方网站:购买阿迪达斯鞋子和运动服
2019/12/11 全球购物
材料采购员岗位职责
2013/12/17 职场文书
大学毕业生自荐书怎么写?
2014/01/06 职场文书
运动会广播稿20字
2014/02/18 职场文书
股份转让协议书
2014/04/12 职场文书
完整版商业计划书
2014/09/15 职场文书
2014年学校国庆主题活动方案
2014/09/16 职场文书
领导班子个人查摆问题对照检查材料
2014/10/02 职场文书
治庸问责工作总结
2015/08/11 职场文书
Apache Hudi数据布局黑科技降低一半查询时间
2022/03/31 Servers
Nginx动静分离配置实现与说明
2022/04/07 Servers