我在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))
但它不起作用。
答案 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
成员的列表,否则匹配搜索参数,例如作为该组的成员