我现在正在处理一些非常基本的 AD 身份验证。基本上,只要我可以使用一些凭据进行绑定,我就会认为用户已通过 AD 身份验证,然后就大功告成了。困难的是,我无法访问 AD 服务器,而且对 AD 知之甚少。所以我无法回答我自己的简单问题,而且我的要求有点奇怪。
我需要让用户手动登录(通过输入用户名和密码)不同的通过 LDAP 登录 AD 比通过 Chrome 浏览器登录 Windows 更安全。因此,他们通过 NTLM 进行“身份验证”,但现在他们可以以其他人的身份登录。是的,很奇怪,但这就是要求。
从浏览器和 Node.js 之间的初始 NTLM 进程中,我获得了 AD 的 URL,并获得了我需要的 3/4 属性思考我需要。我得到了 3 个DC
符合我期望的属性,但我没有得到 ,CN
在我的情况下是CN=Users
。基本上它看起来像
CN=Users,DC=ABC1,DC=ABC2,DC=ABC3
但从最初的 NTLM I不随处获取CN=Users
。
所以,我的问题是!在 AD 中,包含用户的文件夹是否始终被调用Users
?或者我有点困惑,因为我无法CN
从初始 NTLM 进程中获取最终值。也许我可以发送另一条 NTLM 消息来获取更多信息?
谢谢。
答案1
不是,Users
只是一个容器。用户和其他对象可以存储在组织单位 (OU) 中。文档说:
OU 为管理员提供了一种对资源(例如用户帐户或计算机帐户)进行分组的方法,以便将资源作为一个单元进行管理。这使得将组策略应用于多台计算机或控制多个用户对单个资源的访问变得更加容易。OU 还使将资源控制权委托给各个管理员变得更加容易。
您正在谈论的字符串是专有名称 (DN)(例子:CN=Jeff Smith,OU=Sales,DC=Fabrikam,DC=COM
)
但是,我不明白为什么要在登录时检索用户的 DN?您应该能够使用 UPN(用户主体名称)登录,例如:[email protected]