2
LDAPjsを使用してLDAPリポジトリ内のsearchEntryに関するいくつかの問題があります。私はLDAPに精通していないので、クライアントの実装に何か不足している可能性があります。問題は、ある期間の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));
});
});