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))
我正在使用 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))