LDAP过滤器 - 检索给定组中的所有用户

时间:2013-11-06 15:19:57

标签: ldap ldap-client

我在LDAP中遇到过滤器问题。我想检索指定LDAP组中的所有用户。 LDIF就像这样:

dn: cn=engineering,ou=Groups,dc=domain,dc=com
objectClass: groupOfNames
cn: engineering
member: uid=alex,ou=Users,dc=domain,dc=com
member: uid=amy,ou=Users,dc=domain,dc=com
...

dn: uid=alex,ou=Users,dc=domain,dc=com
objectClass: posixAccount
objectClass: inetOrgPerson
cn: Alex Ander
gidNumber: 5000
homeDirectory: /home/alex
...

我试过

(&(objectClass=user)
  (memberof=cn=engineering,OU=Users,DC=domain,DC=com))

但它不起作用。

1 个答案:

答案 0 :(得分:0)

要检索该组的所有成员,请在搜索请求中使用以下参数:

  • 基础对象:cn=engineering,ou=Groups,dc=domain,dc=com
  • 范围:基地
  • 过滤器:(&)
  • 请求的属性:member

来自服务器的响应(假设处理搜索请求的连接的授权状态允许)将是该组中所有member属性值的列表。

如果LDAP客户端要求每个成员完整输入,则为每个成员发送搜索搜索请求。客户端具有DN,因此只需要基本范围,并列出要检索的每个属性。

可替换地:

  • 基础对象:ou=users,dc=domain,dc=com
  • 范围:一个(如果所有对象都在ou=users以下的一个级别)
  • 过滤器:(&(objectClass=inetorgPerson)(memberOf=cn=engineering,ou=Groups,dc=domain,dc=com))
  • 请求的属性,例如cn, homeDirectory

来自(假设处理搜索请求的连接的授权状态允许)的响应将是inetOrgPerson成员的列表,否则匹配搜索参数,例如作为该组的成员

另见