1

我在 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))

但它不起作用。

4

1 回答 1

3

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

  • 基础对象: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与搜索参数匹配的成员列表,例如作为该组的成员。

也可以看看

于 2013-11-06T17:39:29.687 回答