memberOf中的LDAP搜索通配符

memberOf中的LDAP搜索通配符,ldap,openldap,ldap-query,Ldap,Openldap,Ldap Query,我们有一个LDAP,其中有许多组遵循以下模式: Acme-MyApp-ABC-Admin Acme-MyApp-ABC-Bottlewasher Acme-MyApp-ABC-Cook Acme-MyApp-DEF-Admin Acme-MyApp-DEF-Bottlewasher Acme-MyApp-DEF-Cook 等等重复了很多次 (&(objectClass=person)(memberOf=cn=Acme-MyApp-ABC-Admin,ou=Groups,dc=acme,

我们有一个LDAP,其中有许多组遵循以下模式:

Acme-MyApp-ABC-Admin
Acme-MyApp-ABC-Bottlewasher
Acme-MyApp-ABC-Cook
Acme-MyApp-DEF-Admin
Acme-MyApp-DEF-Bottlewasher
Acme-MyApp-DEF-Cook
等等重复了很多次

(&(objectClass=person)(memberOf=cn=Acme-MyApp-ABC-Admin,ou=Groups,dc=acme,dc=com))
正确返回Acme MyApp ABC管理组的成员。我们希望找到所有管理组的成员

(&(objectClass=person)(memberOf=cn=*-Admin,ou=Groups,dc=acme,dc=com))

是否可以在DN中放置通配符?

通常,不支持对DN的语法属性进行通配符搜索

一些LDAP服务器实现可能支持它们。您的问题被标记为OpenLDAP,但搜索过滤器看起来更像是一个AD实现

我确实在TechNet上发现“…不允许使用通配符。”(我假设他没有遇到过vs no)


-jim

我找到的最简单的解决方案是创建一个访问组,并将所有权限组添加为成员

  • Acme MyApp管理员访问权限
然后基于递归成员关系进行过滤

(&(objectClass=person)(memberOf:1.2.840.113556.1.4.1941:=CN=Acme-MyApp-Admin-Access,ou=Groups,dc=acme,dc=com))
这样,您只需要注意每个新的管理组都添加为访问组的成员,而不需要修改ldap筛选器