ldap搜索过滤器无法正常工作

时间:2013-09-19 13:29:39

标签: php search filter ldap

我希望得到一个小组的所有成员。

$filter = "member=*";
$result = ldap_search($ldap_connection, GROUP_USER_ADMINS.",".BASE_DS, $filter);

base_dn是该组的完整dn。

使用这个过滤器,我得到一个包含更多信息的数组,这是我没有计划过的。

我可以使用

$entries = ldap_get_entries($ldap_connection, $result);
print_r($entries[0][members]);

仅使用所有成员打印结果。但为什么过滤器不起作用?我只希望成员不是关于该组的所有信息,例如whencreated或该组的samaccounttype。

为什么过滤器不起作用?

2 个答案:

答案 0 :(得分:1)

指定作为搜索请求的一部分请求的属性。 API的默认值可能是“所有用户属性”。

另见

答案 1 :(得分:0)

我添加了一个属性: $ attr = array('member'); 但是名称中有两个属性,其中包含“成员”。可以仅使用真实键“成员”找到属性吗?

Array
(
   [count] => 1
   [0] => Array
   (
      [member] => Array
      (
         [count] => 2
         [0] => CN=User2,OU....,OU=...,DC=...,DC=...
         [1] => CN=User1,OU....,OU=...,DC=...,DC=...
      )

      [0] => member
      [count] => 1
      [dn] => CN=...,OU=....,OU=...,DC=...,DC=...(dn of the group)
   )  
)