我正在努力让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给我的每个查询。
我认为这是由于我们如何设置结构。
任何人都可以提供帮助。
答案 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"]);
它有效..