Spring LDAP - 批量查找完整 DN

Spring LDAP - batch lookup full DNs

我正在使用 spring-ldap,我遇到了一种情况,我必须从 AD 服务器查找一堆完整的 DN。在去往 AD 服务器的路上有大量的延迟,所以如果我只是按顺序进行 N 次查找:

 LdapTemplate.findByDn(dn,MyClass);

它往往相当慢,尽管它本身并不是一个非常昂贵的操作。例如,如果我有 GUID,我可以简单地执行批处理或 OR 条件:

 (|(objectGUID=A)(objectGUID=B)(objectGUID=C))

但我找不到对完整 DN 执行相同操作的方法。这甚至存在吗?如果可以的话,我想避免 运行 N 个并行查询 ...

由于这是一个 Active Directory 域,请在 distinguishedName 属性中搜索完全限定的 DN:

(|(distinguishedName=CN=Lisa,OU=ResourceUsers,DC=example,DC=com)(distinguishedName=CN=Scott,OU=ResourceUsers,DC=example,DC=com)(distinguishedName=CN=Anya,OU=ResourceUsers,DC=example,DC=com))

或者,如果可能,将所有有效用户添加到组中并搜索属于该组成员的个人(这样可以避免每次用户 added/removed 时都必须调整您的 LDAP 查询)- - 向组中添加一个帐户,他们将出现在您的查询中,从组中删除某人,他们将从结果集中消失。

(&(memberOf=cn=MyGroupName,ou=OUForGroups,dc=example,dc=com))