Javascript Ldapsearch到ldapjs的转换
我一直在尝试转换以下查询 对于脚本:Javascript Ldapsearch到ldapjs的转换,javascript,node.js,shell,ldap,Javascript,Node.js,Shell,Ldap,我一直在尝试转换以下查询 对于脚本: var ldap=require('ldapjs'); var服务器ldap://ldap.berkeley.edu'; var searchBase='ou=people,dc=berkeley,dc=edu'; var client=ldap.createClient({ url:服务器 }); 变量选项={ 筛选器:'(objectclass=*)' }; client.search(searchBase、opts、function(err、res)
var ldap=require('ldapjs');
var服务器ldap://ldap.berkeley.edu';
var searchBase='ou=people,dc=berkeley,dc=edu';
var client=ldap.createClient({
url:服务器
});
变量选项={
筛选器:'(objectclass=*)'
};
client.search(searchBase、opts、function(err、res){
res.on('searchEntry',函数(entry){
console.log(entry.toString());
});
});
ldapsearch给了我很多结果,但ldapjs没有返回任何用户。您可以在上找到一些解决此问题的尝试。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());
});
});
添加
scope:'sub'
成功了,谢谢。还感谢您解释这到底是如何工作的。
var opts = {
filter: '(objectclass=*)',
scope: 'sub'
};
client.search(searchBase, opts, function(err, res) {
res.on('searchEntry', function (entry) {
console.log(entry.toString());
});
});