0
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);
                });
            }
        });
    }
});

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

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

4

1 回答 1

0

这是一个解决方案:

[ ldapjs 认证(用户登录设置)

于 2017-05-15T09:06:27.400 回答