Javascript 在Ldap.js中搜索

Javascript 在Ldap.js中搜索,javascript,node.js,ldap,Javascript,Node.js,Ldap,我试图在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

我试图在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中找到记录)。但是当我使用
client.search('dc=foo,dc=com',opts,function(err,res))时
使用上面定义的opt,它总是转到分支4:
res.on('end',function(result)
,并且从不返回错误状态0


.

这不适用于
dc=foo,dc=com
,因为LDAP目录中的条目没有属性
Email
,因此您的筛选器不匹配。LDAP目录中的条目
'cn=x,ou=users,dc=foo,dc=com'
可能具有此属性,这就是它工作的原因。

尝试提供筛选器:(&('Email=*@foo.com'))。