LDAPJS身份验证和搜索

时间:2017-05-15 08:54:05

标签: node.js ldapjs

ldapsearch -h myserver.123.com -b 'dc=123,dc=com' -x uid=myid

这个命令对我有用。得到我想要的。但我努力将此功能实现到node.js

我尝试这个例子:我认为myserver.123.com不需要身份验证。 我也不知道myserver.123.com是如何配置的。重要的是,上面的命令以某种方式起作用。

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

var ldap = require('ldapjs');
var tlsOptions = {
    host: 'myid',
    port: '389'
};
var client = ldap.createClient({
    url: 'myserver.123.com',
    tlsOptions: tlsOptions
});

client.bind(username, password, function (err) {
    if (err) {
        console.log('Error occurred while binding');
    } else {
        var base = 'cn=user,dc=123,dc=com';
        var search_options = {
            scope: 'sub',
            filter: '(&(objectClass=*)(CN=' + username + '))',
            attrs: 'memberOf'
        };
        client.search(base, search_options, function (err, res) {
            if (err) {
                console.log('Error occurred while ldap search');
            } else {
                res.on('searchEntry', function (entry) {
                    console.log('Entry', JSON.stringify(entry.object));
                });
                res.on('searchReference', function (referral) {
                    console.log('Referral', referral);
                });
                res.on('error', function (err) {
                    console.log('Error is', err);
                });
                res.on('end', function (result) {
                    console.log('Result is', result);
                });
            }
        });
    }
});

我是这项技术的新手。我真的不知道它是如何工作的。

这是我的问题:“绑定时出错” 我不知道如何绑定到这个服务器。我没有任何文件。所以,这是问题。我上面有我的命令,现在我即兴创作。

1 个答案:

答案 0 :(得分:0)

这是一个解决方案:

[ldapjs authentification (user login setup)