我使用的是spring-ldap,在这种情况下,我必须从AD服务器中查找一堆完整的DNs。在到AD服务器的过程中有大量的延迟,所以如果我只按顺序执行N次查找:
LdapTemplate.findByDn(dn,MyClass);尽管它本身并不是一个非常昂贵的操作,但它往往相当慢。例如,如果我有GUID,我可以简单地执行批处理或or条件:
(|(objectGUID=A)(objectGUID=B)(objectGUID=C))但我找不到一种方法来为完整的DNs做同样的事情。这真的存在吗?如果可以,我希望避免并行运行N个查询...
发布于 2019-01-08 02:00:56
由于这是一个Active Directory域,因此请在distinguishedName属性中搜索完全限定的in:
(|(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))或者,如果可能,将所有有效用户添加到组中并搜索属于该组成员的个人(这避免了每次添加/删除用户时都必须调整LDAP查询) --向组中添加一个帐户,他们将出现在您的查询中,从组中删除某人,他们将从结果集中消失。
(&(memberOf=cn=MyGroupName,ou=OUForGroups,dc=example,dc=com))https://stackoverflow.com/questions/54077595
复制相似问题