LDAPJS搜索返回对象

时间:2018-11-16 17:47:52

标签: javascript node.js

我正在尝试为Active Directory提取objectClass的所有属性,但没有按我的意愿返回。如果您能帮助我的话...

这是我的代码:

var username = 'username';
var password = 'password';

var ldap = require('ldapjs');

var listAttributes = new Array();
var client = ldap.createClient({
      url: 'ldap://example.com/'+username
});
var opts = {
  filter: '(&(objectclass=*))',
  scope: 'sub'
};

console.log('--- going to try to connect user ---');

try {
    client.bind(username, password, function (error) {
        if(error){
            console.log(error.message);
            client.unbind(function(error) {if(error){console.log(error.message);} else{console.log('client disconnected');}});
    } else {
        console.log('connected');
        client.search('dc=ciscoad,dc=lab', opts, function(error, search) {
            console.log('Searching.....');

            search.on('searchEntry', function(entry) {
                if(entry.object){
                    for(i in entry.object) {

                        listAttributes.push(i);

                    }
                    console.log(listAttributes);
                }
                client.unbind(function(error) {if(error){console.log(error.message);} else{console.log('client disconnected');}});
            });

            search.on('error', function(error) {
                console.error('error: ' + error.message);
                client.unbind(function(error) {if(error){console.log(error.message);} else{console.log('client disconnected');}});
            });

        });
    }
});
} catch(error){
    console.log(error);
    client.unbind(function(error) {if(error){console.log(error.message);} else{console.log('client disconnected');}});
}

这将返回一个用户但所有用户的一些属性!而且我只需要一次所有用户的所有属性。 您是否想一次列出所有属性?

0 个答案:

没有答案