gpt4 book ai didi

active-directory - 为什么 Active Directory 中的 DN 使用全名?

转载 作者:行者123 更新时间:2023-12-01 19:35:48 24 4
gpt4 key购买 nike

[根据评论重写我的问题]

我在 Active Directory 中的 DN 是“CN=Jesse Barnum,cn=users,dc=360works,dc=com”。

我正在编写一个 Web 应用程序,它尝试使用事件用户的用户名和密码绑定(bind)到 LDAP 服务器。进行绑定(bind)时,我使用格式“CN=$loginName$,cn=users,dc=360works,dc=com”。因此,我的用户需要输入他们的全名(即“Jesse Barnum”),而不是他们的较短 UID(“jbarnum”)。

由于登录的用户通常希望输入一个短名称(例如“jbarnum”,而不是“Jesse Barnum”),因此我希望我的 DN 使用我的短名称,如下所示:“CN=jbarnum,cn =用户,dc=360works,dc=com”。这似乎不是默认行为(Windows Server 2012)吗?

所以我的问题是:我可以更改 Active Directory 中 DN 的构建方式以使用短名称而不是全名吗?

最佳答案

您可以改变这种行为,但为什么要改变呢?当您想要创建登录时,可以使用更优雅、更灵活的解决方案。

创建基于 LDAP 的登录时,我总是执行以下操作:

  • 使用可以搜索 LDAP 的特殊帐户绑定(bind)到服务器。通常,这也可以通过所谓的“匿名绑定(bind)”来完成。
  • 在 LDAP 中搜索您喜欢的任何属性中的给定用户名。 (|(uid=username)(mail=username)(cn=username)) 过滤器将允许您的用户使用 uid、mail 或 cn 登录。
  • 从检索到的结果中获取 DN,并使用该 DN(应该是用户记录的 DN)进行第二次绑定(bind) - 这次使用提供的密码

这样,DN 与您的登录完全无关,因为 i 是使用基于属性提供的信息进行检索的。

有关 PHP 的示例,请查看 https://gist.github.com/heiglandreas/5689592

关于active-directory - 为什么 Active Directory 中的 DN 使用全名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26067756/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com