在Ldap.js中搜索
Search in Ldap.js
我试图在我的node.js代码中使用Ldap.js的搜索方法。但这行不通。下面是我的代码:
searchFunc : function (){
console.log('inside search');
client.bind('cn=Manager,dc=foo,dc=com', kredito231, function(err) {
if (err) {
console.log(err);
client.unbind();
return;
}
var opts = {
filter: (('Email=*@foo.com'))
} ;
//This search works correct:
//client.search( 'cn=x,ou=users' + ',' + 'dc=foo,dc=com', function(err,res){
//This one doesn't work. But everything is done according api
client.search('dc=foo,dc=com', opts, function(err, res) {
res.on('searchEntry', function(entry) {
console.log('hit');
console.log('entry: ' + JSON.stringify(entry.object));
});
res.on('searchReference', function(referral) {
console.log('referral: ' + referral.uris.join());
});
res.on('error', function(err) {
console.log('searchFailed') ;
console.error('error: ' + err.message);
});
res.on('end', function(result) {
console.log('4') ;
console.log('status: ' + result.status);
});
});
});
}
当我使用使用dn name
的搜索方法时,它返回正确的对象及其属性(执行res.on('searchEntry', function(entry)
部分,因为它可以在Ldap中找到记录)。但是当我用上面定义的opt使用client.search('dc=foo,dc=com', opts, function(err, res)
时,它总是转到分支4:res.on('end', function(result)
并且从不返回0的错误状态。
Ldap的API文档
这对dc=foo,dc=com
不起作用,因为LDAP目录中的条目没有属性Email
,因此您的过滤器不匹配。LDAP目录中的条目'cn=x,ou=users,dc=foo,dc=com'
可能具有此属性,这就是它工作的原因。
通过以下方式我们可以搜索用户数据
function searchUser() {
var opts = {
filter: '(objectClass=*)', //simple search
// filter: '(&(uid=2)(sn=John))',// and search
// filter: '(|(uid=2)(sn=John)(cn=Smith))', // or search
scope: 'sub',
attributes: ['sn']
};
client.search('ou=users,ou=system', opts, function (err, res) {
if (err) {
console.log("Error in search " + err)
} else {
res.on('searchEntry', function (entry) {
console.log('entry: ' + JSON.stringify(entry.object));
});
res.on('searchReference', function (referral) {
console.log('referral: ' + referral.uris.join());
});
res.on('error', function (err) {
console.error('error: ' + err.message);
});
res.on('end', function (result) {
console.log('status: ' + result.status);
});
}
});
}
相关文章:
- JS的搜索功能
- 如何设置“;search_type”;在弹性搜索js
- 在Knockout JS中搜索从DB加载数据的项目
- 如何在单击按钮时使用instantsearch.js启动搜索
- 如何从Chosen JS中删除搜索框
- 通过JS/AAJAX在XML文件中搜索1个数据
- Angular JS根据搜索结果和点击事件更新DOM元素
- JS在input标签上使用keyup事件进行搜索
- 在Sinatra(ruby)中实现JS模糊搜索
- 更改阿尔戈利亚即时搜索.js统计模板
- ldap.js :嵌套搜索
- 当我用ctrl+p搜索时,为什么要在谷歌chrome上使用inspect来调试缺少显示文件js
- 在js中的表中搜索不起作用
- 使用JS和Keyup在Rails4中进行实时搜索
- 搜索JS文件您're表示字符串
- 弹性搜索 JS 函数返回值
- Youtube搜索js功能
- 搜索js图像裁剪插件,无需jquery
- 搜索JS对象的值
- 从数组索引搜索 JS 创建的未定义变量