node.js - LDAP 身份验证失败
问题描述
我有一个 nodejs 应用程序,它使用 passport-ldapauth 在本地成功地使用 LDAP 进行身份验证。
但是,在另一个环境中它不起作用。我编写了一个可以成功查询 LDAP 的 .net 应用程序。不同的是它使用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 应用程序中工作,我也会得到无效的凭据。
节点代码:
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);
}
);
任何想法将不胜感激。
吉娜
解决方案
很多小时后,答案比预期的要简单:
LDAP_BIND_DN = mydomain\ldapadmin
吉娜
推荐阅读
- javascript - 如何通过使用 onchange 方法更改下拉框中的值来将值从数据库获取到动态行
- python - 从 pytest 输出中删除 FAILURES
- maple - 如何在 Maple 中使用变量的值
- assembly - masm 中打印数字的 OFFSET 关键字
- php - 2 个日期之间不包括第一天
- android - 谷歌登录游戏失败
- python - Pyomo:使用列表参数化约束
- python - 如何将函数定义为其他函数及其相关参数的总和并拟合参数 [python]
- laravel - auth()->user() 在功能测试时在 ServiceProvider 中返回 null
- javascript - 在 jQuery 中创建的元素不会触发侦听器