Active directory LDAP绑定允许错误(非空)密码

Active directory LDAP绑定允许错误(非空)密码,active-directory,ldap,Active Directory,Ldap,我们有一个客户广告系统,我们使用LDAP对用户进行身份验证,特别是使用他们的用户名和密码进行绑定。根据用户名的结构,错误密码的结果会有所不同。如果我们在用户名中包含域名,那么任何密码都将返回经过身份验证的结果。我使用LDP.exe为每个场景粘贴了一些结果: 使用myusername绑定&无效的非空密码: res = ldap_bind_s(ld, NULL, &NtAuthIdentity, 1158); // v.3 {NtAuthIdentity: User='[userna

我们有一个客户广告系统,我们使用LDAP对用户进行身份验证,特别是使用他们的用户名和密码进行绑定。根据用户名的结构,错误密码的结果会有所不同。如果我们在用户名中包含域名,那么任何密码都将返回经过身份验证的结果。我使用LDP.exe为每个场景粘贴了一些结果:

使用myusername绑定&无效的非空密码:

res = ldap_bind_s(ld, NULL, &NtAuthIdentity, 1158); // v.3
    {NtAuthIdentity: User='[username]'; Pwd= <unavailable>; domain = 'DC=[domain],DC=co,DC=uk'.}
Error <49>: ldap_bind_s() failed: Invalid Credentials.
Server error: 8009030C: LdapErr: DSID-0C090585, comment: AcceptSecurityContext error, data 52e, v4563
res = ldap_bind_s(ld, NULL, &NtAuthIdentity, 1158); // v.3
    {NtAuthIdentity: User='[myusername@domain.org]'; Pwd= <unavailable>; domain = 'DC=[domain],DC=co,DC=uk'.}
Authenticated as dn:'[username@domain.org]'.
束缚myusername@domain.org无效的非空密码(&F):

res = ldap_bind_s(ld, NULL, &NtAuthIdentity, 1158); // v.3
    {NtAuthIdentity: User='[username]'; Pwd= <unavailable>; domain = 'DC=[domain],DC=co,DC=uk'.}
Error <49>: ldap_bind_s() failed: Invalid Credentials.
Server error: 8009030C: LdapErr: DSID-0C090585, comment: AcceptSecurityContext error, data 52e, v4563
res = ldap_bind_s(ld, NULL, &NtAuthIdentity, 1158); // v.3
    {NtAuthIdentity: User='[myusername@domain.org]'; Pwd= <unavailable>; domain = 'DC=[domain],DC=co,DC=uk'.}
Authenticated as dn:'[username@domain.org]'.
我注意到用户的完整用户名是username@domain.org并且提供给LDAP的域是DC=domain,DC=co,DC=uk,不确定这是否会产生影响

有没有人知道是什么原因导致了这种情况,以及是否存在某种需要解决的设置

干杯。

是否在域上启用了?如果是这样,任何随机凭证都将起作用。如果您使用有效的用户名,它只会告诉您密码不正确

使用myusername格式时,它必须与帐户上的sAMAccountName属性匹配。如果你使用myusername@domain.org格式,它必须与帐户上的userPrincipalName匹配-因此myusername@domain.org实际上不是您帐户的userPrincipalName