ЛДАП:Как найти заданный идентификатор пользователя в нескольких подразделениях организации?
-
21-08-2019 - |
Вопрос
Прежде всего, позвольте мне сказать, что я совершенно новичок в работе с LDAP.
Я работаю над приложением, которое использует сервер LDAP совместно с несколькими устаревшими приложениями.
Все учетные записи пользователей в устаревшем приложении организованы в организационные подразделения по идентификаторам.Каждая запись имеет uid
это адрес электронной почты пользователя.
Я могу найти пользователя по электронной почте some@email.com
существует в организационном подразделении 12345
с помощью dn
что-то вроде этого: ou=someGroup,ou=12345,uid=some@email.com
Однако мне бы хотелось иметь возможность проверять существование пользователя в нескольких организационных подразделениях.Например, я хотел бы иметь возможность проверить, используется ли электронная почта в произвольном количестве организационных подразделений.(например, проверьте в течение 12345
, 23452
, и 34352
).
Погуглив, кажется, что я смогу найти несколько записей с помощью одной dn
, но я не понял, как проверить этот сценарий.
Кто-нибудь знает, как я могу сделать такую проверку?Я использую Spring LDAP.
Решение
Я считаю, что вы сможете сделать это следующим образом:
В качестве поискового DN указывайте только компоненты домена:
BASE_DN = "DC=TEST,DC=COM"
В качестве фильтра укажите свой CN или uid
ФИЛЬТР = "UID=bob"
В качестве поиска обязательно укажите «sub» или специальный параметр Spring LDAP для поиска по всему поддереву ниже базового DN.
В зависимости от ваших настроек вам может потребоваться задать поиск по ссылкам «Всегда разыменовывать».