我想获取一个组的所有成员。
$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]);
以仅打印包含所有成员的结果。但是为什么过滤器不工作?我只想要成员而不是有关组的所有信息,例如何时创建或组的 samaccount类型。
为什么过滤器不工作?
指定作为搜索请求的一部分请求的属性。API 的默认值可能是"所有用户属性"。
参见
- LDAP:掌握搜索过滤器
- LDAP:搜索最佳做法
- LDAP:编程实践
我添加了一个属性:$attr = 数组("成员");但是有两个属性在名称中带有"成员"。是否可以仅使用真正的键"成员"找到属性?
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)
)
)