如何让所有组成为用户在Active Directory中的成员,在PHP中(连接到LDAP目录)

时间:2012-09-24 08:41:02

标签: php active-directory ldap

我有一个网站,可以检查用户是否是Active Directory中特定组的成员。现在我想要回显用户所属的所有组。我在互联网上找不到任何这方面的例子,我不知道从哪里开始。任何帮助表示赞赏。 请记住,我不是专业的程序员/网站设计师。

我正在检查用户的sAMAccountname。 提前谢谢。

2 个答案:

答案 0 :(得分:1)

您需要检查 memberOf 多值属性。

它包含完整的DN组。

此问题已在此处得到解答:PHP LDAP Get user details of member which is a member of a group

答案 1 :(得分:1)

这可以通过以下方式实现:

  • 查找用户,阅读memberOf属性
  • Active Directory使用递归组,您需要在客户端查找这些
  • Active Directory的默认限制为1000返回结果,因此您需要使用paged results以确保获得所有组(需要PHP 5.4)

对于速度,您应该使用OR过滤器进行递归查找,如下所示:(|(memberOf = group1)(memberOf = group2))用于递归查找+仅查找一次组,因此对服务器的请求最小化