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

如何编写LDAP查询从指定组提取用户?(Radiant Logic环境)

从Radiant Logic LDAP指定组提取用户的查询问题

我正尝试编写LDAP查询从指定组中提取用户,但试了多个查询都没效果。我们用的是Radiant Logic作为LDAP服务,以下是我试过的查询语句:

(&(uid=*)(cn=groupofUniqueNames=Group_Name,ou=groups,o=trx))

(&(objectclass=groupOfUniqueNames)(uniqueMember=cn=Group_Name,ou=groups,o=trx))

(&(objectclass=groupOfUniqueNames)(cn=Group_Name,ou=groups,o=trx))

(&(objectclass=groupOfUniqueNames)(cn=Group_Name,ou=users,o=trx))

(&(objectCategory=user)(memberOf=CN=Group_Name,ou=groups,o=trx))

(&(objectclass=groupOfUniqueNames)(uniqueMember=CN=Group_Name,ou=groups,o=trx))

(&(objectCategory=group)(cn=Group_Name))

(&(objectClass=groupOfNames)(cn=Group_Name,ou=groups,o=trx))

(&(objectClass=inetOrgPerson)(memberOf=cn=Group_Name,ou=groups,o=trx))

(&(objectClass=user)(uid=johndoe)(memberof=CN=Group_Name,ou=groups,o=trx))

现有查询的问题分析

  • 第一个查询语法错误:cn=groupofUniqueNames=Group_Name格式违规,一个属性不能重复赋值
  • 第二、第六个查询逻辑颠倒:uniqueMember字段存储的是用户的DN,不是组的DN,不能用组DN去匹配这个字段
  • 第三、第七、第八个查询是在查找组对象本身,不是组内的用户
  • 第四个查询路径错误:组的存储位置是ou=groups,不是ou=users
  • 第五、第九、第十个查询误用属性:Radiant Logic用groupOfUniqueNames类的组,成员属性是uniqueMember,而非AD常用的memberOf,除非目录配置了反向引用属性

正确的查询方法

方法1:先查组,提取成员DN

先查询目标组对象,获取其uniqueMember属性值,这些值就是组内用户的完整DN:

(&(objectClass=groupOfUniqueNames)(cn=Group_Name)(ou=groups,o=trx))

查询时指定返回uniqueMember属性,拿到所有用户DN后,可单独查询每个用户的详细信息。

方法2:反向查询组内用户(需服务器支持)

如果Radiant Logic配置支持LDAP反向匹配规则,可直接查询所有属于目标组的用户:

(&(objectClass=inetOrgPerson)(uniqueMember:1.2.840.113556.1.4.1941:=cn=Group_Name,ou=groups,o=trx))

这里的1.2.840.113556.1.4.1941是LDAP标准的链式匹配规则,用于反向查找组的成员。

注意事项

  • 确认用户对象的objectClass:可能是inetOrgPerson或user,需根据实际目录结构调整
  • DN大小写要与目录内一致,Radiant Logic通常对大小写敏感
  • 确保查询用的绑定用户有足够权限读取组和用户的属性

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 14:15:35