PHP LDAP查询以获取特定安全组的成员


PHP LDAP query to get members of specific security Group

我正在努力让LDAP查询工作,以便为我提供安全组的成员。

我们的活动目录结构是用设置的

DC=domain,DC=co,dc=uk然后,我们有一个名为"公司用户"的组织单位,其中有一个IT和标准组织单位。

在这些文件中,我们让用户创建了

所以我被设置为CN=my name,OU=IT,OU=company users,DC=domain,DC=co,dc=uk

安全组为CN=Test,OU=Security Group,DC=domain,DC=co,dc=uk

我是其中的一员。

我有一个PHP页面,它运行一个LDAP查询,该查询被设置为DN为OU=Company users,DC=domain,DC=co,dc=uk,过滤器为(&(objectClass=user)(objectCategory=person)),这将返回所有用户并正常工作。

然而,我不能让它只返回我的测试组成员,即使我似乎已经尝试了谷歌给我的每一个查询。

我认为这是由于我们如何建立结构。

有人能帮忙吗。

您可以这样做:

(&(objectClass=user)(objectCategory=person)(memberof=CN=Test,OU=Security Group,DC=domain,DC=co,dc=uk))

在您的筛选器中,这将显示正确的用户。如果这不正确,您可能想在域控制器上检查ADSI Edit程序,这将为您提供正确的DN。

我希望这能有所帮助,祝好运

以下是我所做的:

$dn = "CN=Users,DC=domain,DC=co,dc=uk";
$result = @ldap_search($ldap, $dn, "memberof=CN=MySecGroup,{$dn}", ["description", "displayname"]);

它奏效了。。