Spring LDAP - пакетный поиск полных DN - PullRequest
0 голосов
/ 07 января 2019

Я использую spring-ldap, и у меня возникла ситуация, когда мне приходится искать кучу полных DN с сервера AD. На пути к серверу AD существует большая задержка, поэтому, если я просто последовательно выполню N запросов:

 LdapTemplate.findByDn(dn,MyClass);

это имеет тенденцию быть довольно медленным, несмотря на то, что сама операция не является очень дорогой Например, если бы у меня были GUID, я мог бы просто выполнить пакеты или условия ИЛИ:

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

но я не могу найти способ сделать то же самое для полных DN. Это вообще существует? Я хотел бы избежать параллельного запуска N запросов, если смогу ...

1 Ответ

0 голосов
/ 07 января 2019

Поскольку это домен Active Directory, выполните поиск полностью определенных 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))

Или, если возможно, добавьте в группу всех действительных пользователей и найдите людей, которые являются членами группы (это избавляет от необходимости корректировать ваш запрос LDAP при каждом добавлении / удалении пользователя) - добавьте учетную запись в группу, и они будут отображаться в вашем запросе, удалить кого-то из группы, и они исчезнут из набора результатов.

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