无法使用LDAP绑定到域的根目录

时间:2014-01-10 22:17:16

标签: php ldap

我正在尝试连接到域的根目录以运行LDAP查询但由于某种原因,当我从DN中删除OU时它会一直失败

$ldapConnect=ldap_connect("some.domain.com");
if ($ldapConnect)
{
$ldapBind=ldap_bind($ldapConnect, "aUserName", "aPassword");
$sr=ldap_search($ldapConnect, "DC=some,DC=domain,DC=com", "(&(objectCategory=computer (|(operatingSystem=Windows Server*)(operatingSystem=Windows 2000 Server)))");
}

上述代码失败。如果我将绑定更改为以下,它将完美地工作:

$sr=ldap_search($ldapConnect, "OU=anOrgUnit,DC=some,DC=domain,DC=com", "(&(objectCategory=computer (|(operatingSystem=Windows Server*)(operatingSystem=Windows 2000 Server)))");

任何人都对这里发生的事情有任何见解? ldap_error()只返回“操作错误”

1 个答案:

答案 0 :(得分:0)

尝试在执行搜索之前设置LDAP选项,如:

 ldap_set_option($ldap, LDAP_OPT_REFERRALS, 0);

尝试从域根目录搜索时,您需要在Windows域> = 2003上设置LDAP_OPT_REFERRALS。

来源:http://php.net/manual/en/function.ldap-search.php