javascript – Ldapsearch转换为ldapjs

我一直在尝试转换以下ldapsearch查询

ldapsearch -H ldap://ldap.berkeley.edu -x -b 'ou=people,dc=berkeley,dc=edu' objectclass=*

ldapjs脚本:

var ldap = require('ldapjs');
var server = 'ldap://ldap.berkeley.edu';
var searchBase = 'ou=people,dc=berkeley,dc=edu';

var client = ldap.createClient({
  url: server
});

var opts = {
  filter: '(objectclass=*)'
}; 

client.search(searchBase, opts, function(err, res) {
  res.on('searchEntry', function (entry) {
    console.log(entry.toString());
  });
});

ldapsearch给了我很多结果,但ldapjs没有返回任何用户.
您可以在GitHub找到解决此问题的一些尝试.

解决方法:

ldapjs搜索范围是OpenLDAP和(AFAIK)从UMich代码派生的大多数类似C库的“向后”. ldapjs中的默认范围是“base”,而不是“sub”.在没有看到任何数据的情况下,您可能需要使代码看起来像:

var opts = {
  filter: '(objectclass=*)',
  scope: 'sub'
}; 

client.search(searchBase, opts, function(err, res) {
  res.on('searchEntry', function (entry) {
    console.log(entry.toString());
  });
});
上一篇:java Ldap域信息-DN获取


下一篇:如何在我的Java项目中实现单点登录?