PHP / ldap_bind Active Directory无法对OU进行身份验证,但可以使用默认用户组进行身份验证

时间:2012-09-20 20:22:11

标签: php ldap

使用以下代码,我可以验证作为域默认Users组成员的任何用户。例如,我创建了一个用户CN = test,如下所示..

CN =测试,CN =用户,DC =公司,DC = LCL

有效的代码是..

$ldap_resource = ldap_connect( 'company-dc' );
ldap_set_option($ldap_resource, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($ldap_resource, LDAP_OPT_REFERRALS, 0);

if( $bind = ldap_bind( $ldap_resource, 'domain\\test', '*******' ) ) {
    die('connected');
}
else {
    die('No connection');
}

当我尝试在OU = Office用户,OU =公司,DC =公司,DC = lcl中对用户进行身份验证时,它失败并显示错误 无法绑定到服务器:凭据无效 即可。我已经验证了多个用户的用户和密码是否正确。

我使用与上面完全相同的代码,唯一的区别是用户名和密码,域名是相同的。

可以进行身份​​验证:

company.lcl

- 用户

无法进行身份验证:

company.lcl

- 公司

---- Office用户

1 个答案:

答案 0 :(得分:0)

如果OU更改了行为,那么您可能将组策略绑定到一个OU但不绑定到另一个OU。 我不完全确定,但我可以想象GPO强制执行安全通道进行身份验证,您需要使用LDAP over SSL。 您是否可以将一个用户帐户从用户OU移动到公司/ Office用户OU,看看它是否停止工作(或反过来)?