我是ldap的新手。我正在使用ldapauth.js来验证凭据。
我使用ldapauth npm进行认证。
/ * -------------- --------------了ldap_auth * /
var ldap = require('ldapjs');
var LdapAuth = require('ldapauth');
var server = ldap.createServer();
server.search('o=example', function(req, res, next) {
var obj = {
dn: req.dn.toString(),
attributes: {
objectclass: ['organization', 'top'],
o: 'example'
}
};
if (req.filter.matches(obj.attributes))
res.send(obj);
res.end();
});
server.listen(1389, function() {
console.log('LDAP server listening at %s', server.url);
});
var options = {
url: "ldap://0.0.0.0:1389",
adminDn: "uid=myadminusername,ou=users,o=example",
adminPassword: "mypassword",
searchBase: "ou=users,o=example",
searchFilter: "(uid={{username}})"
};
var auth = new LdapAuth(options);
auth.authenticate('myadminusername', 'mypassword', function(err, user) { console.log('err');
console.log(err);
console.log(err.message);
console.log('user');
console.log(user);
});
auth.close(function(err) { console.log('errorr'); })
在控制台中我收到错误消息。
LDAP server listening at ldap://0.0.0.0:1389
err
{ dn: [Getter],
code: [Getter],
name: [Getter],
message: [Getter] }
No tree found for: uid=myadminusername, ou=users, o=example
user
undefined
请帮我弄清楚出了什么问题。
感谢您的时间
答案 0 :(得分:1)
您似乎输入了错误的端口号,默认LDAP端口为389
,但此处您使用的是url: "ldap://0.0.0.0:1389"
。我假设您在代码中使用了真实的IP。
答案 1 :(得分:1)