[根据评论重写我的问题]
我在Active Directory中的DN是“CN = Jesse Barnum,cn = users,dc = 360works,dc = com”。
我正在编写一个Web应用程序,它尝试使用活动用户的用户名和密码绑定到LDAP服务器。在进行绑定时,我使用格式“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的方式,以使用短名称而不是全名吗?
答案 0 :(得分:3)
你可以改变这种行为但你为什么要这样做?当您想要创建登录时,可以使用更优雅,更灵活的解决方案。
创建基于LDAP的登录时,我总是这样做:
(|(uid=username)(mail=username)(cn=username))
的过滤器允许您的用户使用uid,mail或cn登录。这样,DN与您的登录完全无关,因为我使用基于属性的提供信息来检索。
有关PHP中的示例,请查看https://gist.github.com/heiglandreas/5689592
答案 1 :(得分:1)
CN可以基于任何事情,真的。它归结为您如何在目录中配置用户。如果使用现成的AD用户和计算机或AD管理中心工具来创建用户,则默认使用全名格式。您可以在事后更改CN,或者如果您使用程序化的东西来创建用户,那么您可以根据自己的喜好创建它们。