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

时间:2013-12-10 12:55:49

标签: php ldap

我正在努力让LDAP查询工作以给我一个安全组的成员。

我们的活动目录结构设置为

DC=domain,DC=co,dc=uk 然后,我们有一个名为公司用户的OU,其中包含一个用于IT和OU的OU。

在这些内容中,我们创建了用户

所以我设置为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

我是其中的一员。

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

我不能让它只返回我的Test组的成员,即使我似乎已经尝试了Google给我的每个查询。

我认为这是由于我们如何设置结构。

任何人都可以提供帮助。

2 个答案:

答案 0 :(得分:4)

你可以这样做:

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

在您的过滤器中,这将带出正确的用户。如果这不正确,您可能需要检查域控制器上的ADSI Edit程序,这将为您提供正确的DN。

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

答案 1 :(得分:0)

以下是我的所作所为:

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

它有效..