我想要一些CN
列出成员
我是 usign 过滤器,它的工作:
$filter="(&(objectCategory=user)(sAMAccountName=username)(memberOf=CN=g_jira,OU=Jira,OU=Groups,DC=office,DC=lamoda,DC=ru))";
$result = ldap_search($ldap,"DC=office,DC=example,DC=ru",$filter);
ldap_sort($ldap,$result,"sn");
$info = ldap_get_entries($ldap, $result);
var_dump($info);
当我尝试仅通过CN
搜索用户时,这对我不起作用。
$filter="(&(objectCategory=user)(sAMAccountName=username)(memberOf=CN=g_jira*))";
$result = ldap_search($ldap,"DC=office,DC=example,DC=ru",$filter);
ldap_sort($ldap,$result,"sn");
$info = ldap_get_entries($ldap, $result);
var_dump($info);
在2
示例中,我得到了count = 0
,我的示例穿了什么,如何在过滤器中仅提供CN
并获得一些结果,如1
示例中?
不能仅在需要可分辨名称的位置搜索 CN。
要实现目标,您必须首先找到符合您条件的所有组:
$filter = "(&(CN=g_jira*))";
获取所有组后,读取其member
属性,也许将成员列表统一化,以便没有重复项,然后单独查询每个用户以获取用户的数据。
或者(根据g_jira组的数量,这可能会更快),您可以如上所述搜索所有组,然后按原始预期执行搜索,但针对每个组的完整可分辨名称。然后,合并返回的用户列表。