2010-07-23 174 views
0

我有2个用户在我的广告安装使用相同的CN的Active Directory登录问题

CN=jack,CN=Users,DC=xyz,DC=com and 
    CN=jack,OU=abc,DC=xyz,DC=com 

当我尝试使用Apache目录Studio客户的广告服务器进行身份验证,并提供以下凭证

User: jack 
Password: <password> 

验证失败。以下凭据工作

User: CN=jack,CN=Users,DC=xyz,DC=com 
Passwprd: <password> 

当我只有一个用户CN=tom,DC=xyz,DC=com与给定的CN

我能够与

User: tom 
Password: <password> 

登录,而无需指定整个DN(CN=tom,DC=xyz,DC=com) 。

我需要编写一个模块来针对AD安装验证用户身份。我只有用户名和密码,而不是完全合格的BASE DN。我无法绑定到AD服务器以便能够使用像(&(objectCategory=person)(objectClass=user)(sAMAccountName=jack))这样的过滤器。我该怎么做,因为当有多个用户具有相同的CN时,似乎会发生这种问题?

编辑:我可以配置AD服务器绑定用户的邮件地址/ sAMAccountName而不是CN?这将解决我的问题,因为这些是独一无二的,而CN不是

回答

2

我找到了我正在寻找的属性 - >userPrincipalName(UPN)。这在Active Directory中具有唯一的值,并且可以在尝试进行身份验证时作为用户名提供。所以现在我需要一个UPN列表和相应的登录密码。

也检查here

0

你在'模块'中做什么样的登录?如果您无法绑定并执行ldap查询,那么您使用什么界面登录?您需要配置使用sAMAccountName的任何内容,因为这是每个域名唯一保证唯一的唯一标识。当然,如果你在森林中有多个域名,那么他们只需要每个域名都是唯一的,这样可能无法很好地工作。

如果您只能以用户的身份执行LDAP绑定,而不是查询。也许你可以尝试连接as sAMAccountname = jack,因为你传递了credentails。