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

PHP/ldap绑定Active Directory可以';无法对OU进行身份验证,但可以使用默认用户组进行身份验证,php,ldap,Php,Ldap,使用下面的代码,我可以验证作为域默认用户组成员的任何用户。例如,我创建了一个用户,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)

使用下面的代码,我可以验证作为域默认用户组成员的任何用户。例如,我创建了一个用户,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 Users、OU=Company、DC=Company、DC=lcl中对用户进行身份验证时,它失败,错误为无法绑定到服务器:无效凭据。我已经对多个用户验证了用户和密码是否正确

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

可以在以下位置进行身份验证:

company.lcl

--使用者

无法在中进行身份验证:

company.lcl

--公司


----Office用户

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