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 26 Javascript
Three.js源码阅读笔记(物体是如何组织的)
Dec 27 Javascript
JavaScript动态修改背景颜色的方法
Apr 16 Javascript
jquery选择器简述
Aug 31 Javascript
javascript的正则匹配方法学习
Feb 24 Javascript
Vue2.0 组件传值通讯的示例代码
Aug 01 Javascript
vue地区选择组件教程详解
May 04 Javascript
在vue项目中优雅的使用SVG的方法实例详解
Dec 03 Javascript
Vue中跨域及打包部署到nginx跨域设置方法
Aug 26 Javascript
vscode中Vue别名路径提示的实现
Jul 31 Javascript
js实现右键弹出自定义菜单
Sep 08 Javascript
详解阿里Node.js技术文档之process模块学习指南
Jan 04 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实现删除非站内外部链接实例代码
2014/06/17 PHP
PHP生成各种常见验证码和Ajax验证过程
2016/01/10 PHP
必须收藏的23个php实用代码片段
2016/02/02 PHP
PHP自动补全表单的两种方法
2017/03/06 PHP
javascript打开新窗口同时关闭旧窗口
2009/01/16 Javascript
基于jQuery图片平滑连续滚动插件
2009/04/27 Javascript
jQuery 使用手册(四)
2009/09/23 Javascript
jquery ajax执行后台方法
2010/03/18 Javascript
Javascript 类型转换方法
2010/10/24 Javascript
JS实现关键字搜索时的相关下拉字段效果
2014/08/05 Javascript
node.js中的fs.readSync方法使用说明
2014/12/17 Javascript
js实现下拉框效果(select)
2017/03/28 Javascript
vue webuploader 文件上传组件开发
2017/09/23 Javascript
Android 自定义view仿微信相机单击拍照长按录视频按钮
2019/07/19 Javascript
微信小程序聊天功能的示例代码
2020/01/13 Javascript
[00:34]DOTA2上海特级锦标赛 VG战队宣传片
2016/03/04 DOTA
django自定义Field实现一个字段存储以逗号分隔的字符串
2014/04/27 Python
Python中super关键字用法实例分析
2015/05/28 Python
python去除空格和换行符的实现方法(推荐)
2017/01/04 Python
python基于itchat实现微信群消息同步机器人
2017/02/27 Python
Python实现字典的遍历与排序功能示例
2017/12/23 Python
在Python运行时动态查看进程内部信息的方法
2019/02/22 Python
pandas 层次化索引的实现方法
2019/07/06 Python
pytorch索引查找 index_select的例子
2019/08/18 Python
Python实现滑动平均(Moving Average)的例子
2019/08/24 Python
python lambda表达式在sort函数中的使用详解
2019/08/28 Python
python中前缀运算符 *和 **的用法示例详解
2020/05/28 Python
python实现excel公式格式化的示例代码
2020/12/23 Python
英国标志性奢侈品牌:Burberry
2016/07/28 全球购物
俄罗斯苹果优质经销商商店:iPort
2020/05/27 全球购物
惠而浦美国官网:Whirlpool.com
2021/01/19 全球购物
房地产财务部员工岗位职责
2014/03/12 职场文书
《微笑着面对生活》优秀演讲稿范文
2014/09/23 职场文书
党员自我评议对照检查材料
2014/09/27 职场文书
python opencv通过4坐标剪裁图片
2021/06/05 Python
Elasticsearch 聚合查询和排序
2022/04/19 Python