如何通过具有属性值的成员获取ldap中的用户组

how to get groups of a user in ldap by members with attribute value

我的问题与 非常相似,但我希望能够搜索一个组,其成员的属性 foo 的值为 bar

即,从上一个问题而不是 (&(objectClass=groupOfNames)(member=cn=root,ou=django,dc=openldap))

我想做类似的事情 (&(objectClass=groupOfNames)(member=sn=bar)) 但似乎只有完整的 DN 可用于此类查询。是否有另一种方法可以为匹配模式的用户查找组?

由于您可以使用 memberOf,您可以搜索用户而不是组:

(&(objectClass=person)(sn=bar))

(您可能需要更改 objectClass,具体取决于它对用户的用途。我习惯使用 Active Directory,而不是 OpenLDAP。)

然后你可以读取你找到的用户的memberOf属性。

更新: 如果您只想查找具有该属性的该组的成员,那么您可以通过在查询中使用 memberOf 在一个查询中完成,并且查找组的 DN:

(&(objectClass=person)(sn=bar)(memberOf=CN=MyGroup,DC=whatever))