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

标签 php ldap

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

CN=test,CN=Users,DC=company,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 中的用户进行身份验证时,失败并显示错误无法绑定(bind)到服务器:凭据无效 。我已验证多个用户的用户名和密码是否正确。

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

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

公司.lcl

-- 用户

无法在 :

中进行身份验证

公司.lcl

--公司

----办公用户

最佳答案

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

关于PHP/ldap_bind Active Directory 无法验证 OU,但可以使用默认用户组进行验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12520328/

相关文章:

php - 将虚拟文件夹结构复制到另一个用户

c - 用 C 打开 LDAP 客户端 - 如何替换已弃用的 API

ldap - LDAP更改用户密码

php - svg 文件 phpstorm 的自动化 CSS Sprite

php - CodeIgniter - 移动数据库元素

javascript - 将 steam 应用列表加载为 JSON 文件

javascript - 自动刷新 div 不起作用

java - 使用 Java 的 LDAP 身份验证

java - 在java中将字符串转换为java.Security.Publickey

c# - LDAP 用户枚举不返回所有域用户