You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

LDAP过滤规则问题:无需指定组导入WebApp下所有组用户

解决Keycloak中AD用户导入的动态组过滤问题

核心问题原因

你之前尝试的(memberof=*)、(memberof=CN=*)等通配符写法无效,是因为AD的memberof属性存储的是组的完整DN(比如cn=g-backend,ou=admins,ou=groups,ou=users,dc=domain,dc=com),而非单纯的CN或前缀,简单通配符无法匹配这种结构化的DN值。

两种动态过滤方案

根据你的需求,提供两种适配不同场景的LDAP过滤规则:

方案1:匹配ou=webapp下所有组的成员用户

如果需要导入所有属于ou=webapp,ou=groups,ou=users,dc=domain,dc=com这个OU下所有组的用户,使用AD支持的链式匹配规则:

(&(objectClass=user)(memberof:1.2.840.113556.1.4.1941:=ou=webapp,ou=groups,ou=users,dc=domain,dc=com))

这个规则会自动匹配所有直接/间接属于该OU下组的用户,后续新增组到该OU时无需修改过滤规则。

方案2:匹配所有CN以g为前缀的组的成员用户

如果目标是导入所有属于CN以g-开头的组(比如g-backend、g-frontend)的用户,不管组在哪个子OU下,用以下规则:

(&(objectClass=user)(memberof:1.2.840.113556.1.4.1941:=(cn=g*,ou=groups,ou=users,dc=domain,dc=com)))

该规则会递归匹配所有CN前缀为g、且位于ou=groups,ou=users,...下的组的成员用户。

Keycloak配置说明

在Keycloak的LDAP用户联邦设置中,将上述规则直接填入LDAP Filter字段即可,无需额外添加括号或修改其他参数。

注意事项

  • 确保Keycloak使用的LDAP服务账号拥有读取用户memberof属性以及组信息的权限;
  • 链式匹配规则(1.2.840.113556.1.4.1941)是AD特有的LDAP扩展,仅适用于Active Directory环境。

内容的提问来源于stack exchange,提问作者Banda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 17:54:54