У меня такой код:
from ldap3 import Server, Connection
uri = 'ldaps://ca1.ad.xxx.com:123'
bind_user = 'CN=svc_bind_user,OU=Service Accounts,DC=subdomain1,DC=ad,DC=xxx,DC=com'
bind_password = 'svc_bind_p4$$'
server = Server(uri)
conn = Connection(server, bind_user, bind_password)
conn.bind()
user_filter = 'objectClass=*'
user_name_attr = 'sAMAccountName'
search_scope = 'SUBTREE'
Я могу успешно искать user1[email protected] вот так
username = 'user1'
search_base= 'DC=subdomain1,DC=ad,DC=xxx,DC=com'
search_filter = "(&({0})({1} = {2}))".format(
user_filter,
user_name_attr,
username
)
res = conn.search(search_base,
search_filter,
search_scope)
а так же user2[email protected] вот так
username = 'user2'
search_base= 'DC=subdomain2,DC=ad,DC=xxx,DC=com'
search_filter = "(&({0})({1} = {2}))".format(
user_filter,
user_name_attr,
username
)
res = conn.search(search_base,
search_filter,
search_scope)
Как вы можете видеть, приведенные выше коды предназначены для каждого пользователя, чтобы изучить разные search_base: subdomain1 и subdomain2 соответственно.
Я устал искать как user1, так и user2 в таком коде с более высоким уровнем search_base= 'DC=ad,DC=xxx,DC=com':
username = 'user1'
search_base= 'DC=ad,DC=xxx,DC=com'
search_filter = "(&({0})({1} = {2}))".format(
user_filter,
user_name_attr,
username
)
res = conn.search(search_base,
search_filter,
search_scope)
но приведенный выше код не находит пользователя, а возвращает только список поддомены
Итак, вопрос в том, если я не делаю здесь ничего плохого, есть ли способ поиска в нескольких доменах, используя, возможно, search_base со специальным синтаксисом, который объединяет несколько поддоменов?
Я не хочу выполнять несколько поисков, а также, как я уже упоминал, serach_base SUBTREE / более высокого уровня, похоже, тоже не работает для меня
Спасибо
Если вам нужно только искать пользователя в нескольких доменах, вы можете сделать то же самое в одном домене, используя глобальный каталог в AD (порт по умолчанию 3268/3269).
Работал! Просто так! спасибо @Am_I_Helpful
Пожалуйста, дайте будущим посетителям ответ о том, что вы сделали, что помогло вам решить проблему! Ваше здоровье :).
@Zac, пожалуйста, поделитесь своим решением
Проблема с поиском по глобальному каталогу, предлагаемым @Am_I_Helpful, заключается в том, что через него возвращаются только ограниченные атрибуты.






@cannatag помогите пожалуйста!