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图片阅览组件
Nov 09 Javascript
Js base64 加密解密介绍
Oct 11 Javascript
JavaScript实现将xml转换成html table表格的方法
Apr 17 Javascript
JS获取图片高度宽度的方法分享
Apr 17 Javascript
jQuery仿360导航页图标拖动排序效果代码分享
Aug 24 Javascript
浅析Bootstrap组件之面板组件
May 04 Javascript
实现一个简单的vue无限加载指令方法
Jan 10 Javascript
微信小程序 在线支付功能的实现
Mar 14 Javascript
javascript 初学教程及五子棋小程序的简单实现
Jul 04 Javascript
Vue中的v-for指令不起效果的解决方法
Sep 27 Javascript
基于JavaScript 实现拖放功能
Sep 12 Javascript
Nuxt的路由动画效果案例
Nov 06 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
ajax+php打造进度条代码[readyState各状态说明]
2010/04/12 PHP
PHP中使用数组实现堆栈数据结构的代码
2012/02/05 PHP
php中通过curl smtp发送邮件
2012/06/05 PHP
深入array multisort排序原理的详解
2013/06/18 PHP
php 输入输出流详解及示例代码
2016/08/25 PHP
关于ThinkPhp 框架表单验证及ajax验证问题
2017/07/19 PHP
PHP5.0 TIDY_PARSE_FILE缓冲区溢出漏洞的解决方案
2018/10/14 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
2020/03/29 PHP
基于Web标准的UI组件 — 树状菜单(2)
2006/09/18 Javascript
JavaScript 对象的属性和方法4种不同的类型
2010/03/19 Javascript
JQuery radio(单选按钮)操作方法汇总
2015/04/15 Javascript
jQuery+CSS3实现3D立方体旋转效果
2015/11/10 Javascript
javascript正则表达式总结
2016/02/29 Javascript
JavaScript算法系列之快速排序(Quicksort)算法实例详解
2016/09/04 Javascript
javascript ASCII和Hex互转的实现方法
2016/12/27 Javascript
angularjs 实现带查找筛选功能的select下拉框实例
2017/01/11 Javascript
从零学习node.js之模块规范(一)
2017/02/21 Javascript
详解RequireJS按需加载样式文件
2017/04/12 Javascript
vue toggle做一个点击切换class(实例讲解)
2018/03/13 Javascript
react ant Design手动设置表单的值操作
2020/10/31 Javascript
[01:19:35]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#2Fnatic VS OG第二局
2016/03/05 DOTA
使用Python的Flask框架来搭建第一个Web应用程序
2016/06/04 Python
解决python2.7用pip安装包时出现错误的问题
2017/01/23 Python
Python配置mysql的教程(推荐)
2017/10/13 Python
python 应用之Pycharm 新建模板默认添加编码格式-作者-时间等信息【推荐】
2019/06/17 Python
python字符串中匹配数字的正则表达式
2019/07/03 Python
Python3环境安装Scrapy爬虫框架过程及常见错误
2019/07/12 Python
Python使用scipy模块实现一维卷积运算示例
2019/09/05 Python
Python实现初始化不同的变量类型为空值
2020/06/02 Python
Django如何实现密码错误报错提醒
2020/09/04 Python
SEPHORA丝芙兰捷克官网:购买香水、化妆品和护肤品
2018/11/26 全球购物
办理房产过户的委托书
2014/09/14 职场文书
总经理助理岗位职责
2015/01/31 职场文书
2015年党员创先争优公开承诺书
2015/04/27 职场文书
离职证明范本
2015/06/12 职场文书
公司安全管理制度范本
2015/08/05 职场文书