我有一些关于使用 LDAPjs 的 LDAP 存储库中的 searchEntry 的问题。我对 LDAP 不是很熟悉,因此我可能会在客户端实现中遗漏一些东西。问题是一段时间后 LDAP 没有来自 LDAP 服务器的响应,只是没有任何回调被调用。
const ldapClient = ldap.createClient({
url: 'ldap://some.ldap.server',
timeout: 3000,
connectTimeout: 6000
});
ldapClient.search('c=XX', opts, (err, res) => {
if (err) {
ldapClient.unbind(function(err) {
if (err) {
console.log(err)
}
});
return next(null);
}
res.once('searchEntry', (entry) => {
ldapClient.unbind(function(err) {
if (err) {
console.log(err)
}
});
return next(entry);
});
res.on('error', (error) => {
ldapClient.unbind(function(err) {
if (err) {
console.log(err)
}
});
return next(null, new Error(error.message));
});
});