我有一个nodejs应用程序,它使用passport ldapauth在本地成功地使用LDAP进行身份验证。
然而,在另一个环境中,它不起作用。我写了一个.net应用程序,可以成功地查询LDAP。不同的是它使用NTLM。
我不熟悉NTLM以及它如何影响我的nodejs项目。
LDAP_URL = ldap://<ldap_server_ip address>
LDAP_BIND_DN = ldapadmin
LDAP_BIND_CREDENTIALS = password123
LDAP_SEARCH_BASE = DC=mydomain,DC=com
LDAP_SEARCH_FILTER = (sAMAccountName={{username}})
我说的是苹果和桔子吗?即使凭据在我的.net应用程序中有效,我也会收到无效凭据。
nodesjs代码:
super(
(
request: Request,
callback
) => {
const options = {
server: {
url: getEnvValue('LDAP_URL'),
bindDN: getEnvValue('LDAP_BIND_DN'),
bindCredentials: getEnvValue('LDAP_BIND_CREDENTIALS'),
searchBase: getEnvValue('LDAP_SEARCH_BASE'),
searchFilter: getEnvValue('LDAP_SEARCH_FILTER'),
},
passReqToCallback: true,
};
callback(null, options);
}
);
任何想法都将不胜感激。
Gina
经过许多小时,答案比预期的要简单:
LDAP_BIND_DN = mydomainldapadmin
Gina