Active directory LDAP身份验证适用于DN,但不适用于AD的CN

Active directory LDAP身份验证适用于DN,但不适用于AD的CN,active-directory,ldap,Active Directory,Ldap,最近,我不得不与一个应用程序交互,该应用程序与主机1和主机2上的2个广告交互。我发现ldap连接在连接到其中一台主机时失败。错误如下所示: 连接到“LDAP://[host1]/RootDSE”失败。 System.DirectoryServices.DirectoryServicesCOMException(0x8007052E): 登录失败:未知用户名或错误密码 出于故障排除的目的,我安装了Apache目录工具和不同的CN/DN组合,我的观察结果如下: 当使用CN(在本例中为管理员)/[密码

最近,我不得不与一个应用程序交互,该应用程序与主机1和主机2上的2个广告交互。我发现ldap连接在连接到其中一台主机时失败。错误如下所示:

连接到“LDAP://[host1]/RootDSE”失败。
System.DirectoryServices.DirectoryServicesCOMException(0x8007052E):
登录失败:未知用户名或错误密码

出于故障排除的目的,我安装了Apache目录工具和不同的CN/DN组合,我的观察结果如下:

  • 当使用CN(在本例中为管理员)/[密码]连接到主机1时,我在获取基本DNs时遇到以下错误:

    获取基本DNs时出错
    [LDAP:错误代码49-80090308:LDAPPER:DSID-0C09003A9,注释:AcceptSecurityContext错误,数据52e,v1db1

  • 使用管理员的可分辨名称和相同密码连接到主机1时,我能够成功检索基本DNs

  • 当仅使用CN(
    管理员
    再次)/)连接到host2时,我可以成功检索基本DNs列表

  • 所以我的问题是,我是否可以设置广告设置来允许仅使用CN而不是完整DN进行身份验证


    我对AD完全陌生,因此如果我的问题中有一些东西可以提供给浏览类似问题的人,请让我知道。谢谢。

    什么是主机1和主机2-它们是不同的域控制器(DC)是针对同一个域还是针对不同的域?根据您的解释,它们似乎是针对不同的域。如果是这样的话,那么host2只是有不同的管理员和不同的密码

    直接回答您的问题。如果且仅当给定的CN是唯一的,AD允许CN用于用户登录。因此无需对此进行任何配置

    但是,在AD中登录还有许多其他方法。您可以使用用户的
    sAMAccountName
    userPrincipalName
    属性,这些属性包含用户的用户名。第一种方法包含
    域\用户名
    中的用户名,其中
    是AD的NetBIOS域名(我不确定这是确切的术语,但我使用它是因为没有更好的名称)。第二个属性包含形式为
    username@example.com
    ,其中
    example.com
    通常是广告的DNS域名(尽管它可能不同)

    因此,如果您正在搜索比DN短的内容,请使用上面的一种