Как указать search_filter='(objectClass=group)',search_scope='SUBTREE',attributes = ['member']) для django python3 ldap

Я использую пакет django python3 ldap для синхронизации некоторых пользователей с сервера ldap в моем приложении django. Оно подключается к серверу ldap с моими конфигурациями, определенными в настройках, но поиск пользователей не удается. База поиска, которую я использую, выглядит так

LDAP_AUTH_SEARCH_BASE = "CN=SOME_USERS,OU=Security Group,OU=Example,DC=Example,DC=com"

Но я получаю результат с другим пакетом под названием ldap3.

Для ldap3 я могу указать некоторые дополнительные параметры вместе с search_base, как показано ниже

from ldap3 import Server, Connection, SAFE_SYNC
server = Server('my_server')
conn = Connection(server, 'my_user', 'my_password', client_strategy=SAFE_SYNC, 
auto_bind=True)
conn.search(search_base='CN=DTS_USERS,OU=Security 
Group,OU=Viacom18,DC=viacom18,DC=com',search_filter='(objectClass=group)'
        ,attributes = ['member'])

Я просто хочу знать, как я могу указать "search_filter='(objectClass=group)' ,attributes = ['member']" с помощью django python3 ldap. Я проверил документацию на https://github.com/etianen/django-python3-ldap, но не смог найти ничего полезного.

Любая помощь будет оценена по достоинству?

Эти два пакета предназначены для разных целей. Пакет ldap3 является библиотекой LDAP общего назначения. Пакет django-python3-ldap предназначен для "Аутентификации пользователей на сервере LDAP".

Ваш код ldap3 выглядит так, как будто он ищет членов определенной группы. Если ваша цель - разрешить аутентификацию только пользователям из этой группы, то в документации это описано в разделе Custom User Filters. Обратите внимание на следующее:

# Advanced: apply custom LDAP filter logic.
search_filters.append("(|(memberOf=groupA)(memberOf=GroupB))")

Это ограничит аутентификацию только пользователями из groupA или GroupB.

Вернуться на верх