【发布时间】:2012-11-05 11:17:21
【问题描述】:
我在 PHP 中编写了一个 ldap 查询类来验证用户。 我需要查询 ldap 服务器到多个 OU,这是一个例子:
DC=mydomain,DC=com
OU=MyBusiness
CN=MyGroup
DC=mydomain,DC=com
OU=Users
CN=Domain Users
在这个域中,我有两个 OU,一个是我的自定义 OU 和一个组。另一个是标准的 Windows OU。 我想创建一个查询来获取两个组,一个在 OU=Users 内部,一个在 OU=MyBusiness... 但似乎不可能。 我试过这个连接:
$r=ldap_connect($ldap_host,$ldap_port);
ldap_bind($r,$user,$passw);
$domain="OU=MyBusiness,DC=mydomain,DC=com";
$sr=ldap_search($r, $domain ,"(&(objectClass=user)(sAMAccountName=".$user."))");
但只获得了 MyBusiness 的组,我也尝试了这些:
$domain="OU=Users,DC=mydomain,DC=com"; //gets only the other group
$domain="DC=mydomain,DC=com"; //error
$domain="OU=*,DC=mydomain,DC=com"; //error
但是没有人工作。我该怎么办?
【问题讨论】:
-
如果你只是想搜索一个用户,你可以使用
DC=mydomain,DC=com的baseDn -
是的,你是对的。但有时我只需要使用“ldapuser”获取用户详细信息,而不需要在目录中提供搜索。我需要在 $domain="OU=*,DC=mydomain,DC=com"; 中搜索吗?
标签: php active-directory ldap-query