我使用以下查询来查找每个用户所属的组:
(&(objectClass=group)(|(member=cn=UID,OU=ServiceAccounts,OU=MC,DC=ads,DC=myCompany,DC=com,DC=au)(member=cn=UID,OU=BTLY,OU=Sites,OU=MC,DC=ads,DC=myCompany,DC=com,DC=au)))
此查询使用以下基本 DN 工作和运行:
OU=MC,DC=ads,DC=myCompany,DC=com,DC=au
我的查询有几个问题:
- 我不喜欢使用 OR 运算符来查找服务帐户用户和 BTLY 用户。
- 我不想对 BTLY 网站进行硬编码,还有其他网站。
理想情况下,我只想将查询设为:
(&(objectClass=group)(|(member=cn=UID,OU=MC,DC=ads,DC=myCompany,DC=com,DC=au))
这样,我不关心用户帐户是否是服务帐户,也不关心该帐户属于哪个站点。不幸的是,该查询不起作用。
有人可以帮我概括一下 LDAP 查询吗?我有点新手,所以我很可能错过了一些完全明显的东西!
谢谢!
谢谢回复。你说的很有道理,但不幸的是,它对我没有帮助。我们正在使用 GlassFish(Java 应用服务器),并将其配置为指向本地 AD 服务器。通常,一个人可以告诉 GlassFish 如何检索用户,例如
(&(objectCategory=user)(CN=UID))
GlassFish 将拾取所有组(可能通过使用memberOf
属性)。
这一次,我们使用不同的 AD 服务器来托管不同的用户目录。GlassFish 无法自行检索组。因此,我们可以在一个字段中为 GlassFish 提供自定义查询以查找组。在这个字段中,我已经发布了我发布的查询,该查询有效,但丑陋且冗长。
我想做的是:
(&(objectClass=group)(member=cn=UID))
但这不起作用。
有没有办法做到这一点?
谢谢,穆尔。