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 相关文章推荐
下载网站打开页面后间隔多少时间才显示下载链接地址的代码
Apr 25 Javascript
jquery tab插件制作实现代码
Jun 22 Javascript
Js+Jq获取URL参数的集中方法示例代码
May 20 Javascript
基于JavaScript实现前端文件的断点续传
Oct 17 Javascript
Angular2  NgModule 模块详解
Oct 19 Javascript
bootstrap学习使用(导航条、下拉菜单、轮播、栅格布局等)
Dec 01 Javascript
详解JS去重及字符串奇数位小写转大写
Dec 29 Javascript
three.js快速入门【推荐】
Jan 21 Javascript
详解vue 2.6 中 slot 的新用法
Jul 09 Javascript
微信公众号平台接口开发 获取微信服务器IP地址方法解析
Aug 14 Javascript
vue 手机物理监听键+退出提示代码
Sep 09 Javascript
ant design vue 表格table 默认勾选几项的操作
Oct 31 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/05/05 PHP
五款PHP代码重构工具推荐
2014/10/14 PHP
php发送html格式文本邮件的方法
2015/06/10 PHP
Symfony2创建页面实例详解
2016/03/18 PHP
解决PHP curl或file_get_contents下载图片损坏或无法打开的问题
2019/10/11 PHP
laravel框架创建授权策略实例分析
2019/11/22 PHP
tp5.0框架隐藏index.php入口文件及模块和控制器的方法分析
2020/02/11 PHP
将HTML自动转为JS代码
2006/06/26 Javascript
JS实现将人民币金额转换为大写的示例代码
2014/02/13 Javascript
jQuery基于当前元素进行下一步的遍历
2014/05/20 Javascript
使用jQuery实现验证上传图片的格式与大小
2014/12/03 Javascript
超级给力的JavaScript的React框架入门教程
2015/07/02 Javascript
情人节单身的我是如何在敲完代码之后收到12束玫瑰的(javascript)
2015/08/21 Javascript
Js获取图片原始宽高的实现代码
2016/05/17 Javascript
AngularJS基础 ng-keypress 指令简单示例
2016/08/02 Javascript
jQuery实用密码强度检测
2017/03/02 Javascript
vue.js中指令Directives详解
2017/03/20 Javascript
JavaScript实现时间表动态效果
2017/07/15 Javascript
vue 实现在同一界面实现组件的动态添加和删除功能
2020/06/16 Javascript
vue实现一个6个输入框的验证码输入组件功能的实例代码
2020/06/29 Javascript
在Python中使用Neo4j的方法
2019/03/14 Python
Python Pandas中根据列的值选取多行数据
2019/07/08 Python
django中账号密码验证登陆功能的实现方法
2019/07/15 Python
Python入门Anaconda和Pycharm的安装和配置详解
2019/07/16 Python
python 类的继承 实例方法.静态方法.类方法的代码解析
2019/08/23 Python
Python BeautifulReport可视化报告代码实例
2020/04/13 Python
django haystack实现全文检索的示例代码
2020/06/24 Python
python3 中时间戳、时间、日期的转换和加减操作
2020/07/14 Python
美国咖啡批发网站:Coffee.org
2017/06/29 全球购物
意大利独特而优质的家居用品:Fazzini
2018/12/05 全球购物
有abstract方法的类一定要用abstract修饰吗
2016/03/14 面试题
执行总经理岗位职责
2014/02/03 职场文书
租房协议书怎么写
2014/04/10 职场文书
个人欠条范本
2015/07/03 职场文书
小学生暑假生活总结
2015/07/13 职场文书
2016年教师寒假学习心得体会
2015/10/09 职场文书