Переход от LDAP к AD LDAPS с помощью Python Django

Преобразование аутентификации из LDAP в AD LDAPS

Python + Django

==============
Следуя Django Docs: https://django-auth-ldap.readthedocs.io/en/latest/authentication.html

OLD:
AUTH_LDAP_SERVER_URI = "ldap://ldap-example.test.com"
NEW:
AUTH_LDAP_SERVER_URI = "ldaps://ad.example.com"

==============
Я работал с администратором AD, чтобы правильно установить эти значения. Я изменил сами значения по очевидным причинам конфиденциальности.

AUTH_LDAP_BIND_DN = "cn=ex-test,cn=user,dc=test,dc=ad"
AUTH_LDAP_BIND_PASSWORD = "{PASSWORD}"
AUTH_LDAP_USER_SEARCH = LDAPSearch("ou=sites,dc=test,dc=ad",ldap.SCOPE_SUBTREE,"(uid=%(user)s)")

AUTH_LDAP_CONNECTION_OPTIONS = {ldap.OPT_REFERRALS: 0}

AUTH_LDAP_USER_DN_TEMPLATE = "cn=%(user)s,ou=sites,dc=test,dc=ad" 
AUTH_LDAP_BIND_AS_AUTHENTICATING_USER = True

AUTH_LDAP_GROUP_SEARCH = LDAPSearch("cn=priv-ex,ou=due,ou=ldap,ou=shared,dc=test,dc=ad", ldap.SCOPE_SUBTREE)
AUTH_LDAP_GROUP_TYPE = GroupOfNamesType(name_attr='cn')

AUTH_LDAP_USER_ATTR_MAP = {
    "first_name": "usersName",
    "last_name": "usersLastName",
    "email": "usersEmail"
}

AUTH_LDAP_REQUIRE_GROUP = "cn=DUE-MAIN,ou=DUE,ou=Applications,ou=Sharing,o=LDAP"

==============

Проблема

Не получается войти в систему. Я не знаю, что я делаю неправильно, поскольку я точно следую документации.

Вопросы

Q1: Есть ли возможность проверить соединение с помощью терминала или командной строки?

Q2: Я видел пакет django-pyad, рекомендованный с settings.py, который выглядит как

# settings.py
AUTHENTICATION_BACKENDS = [
    'django_pyad.backend.ADBackend',
]

# AD configuration
AD_LDAP_SERVER = "ad.example.com"
AD_NT4_DOMAIN = "example"
AD_SEARCH_DN = "OU=Users,DC=ad,DC=example,DC=com"

Нужно ли мне отказаться от того, что я сделал для предыдущего дерева LDAP, и пойти этим путем? Или я могу повторно использовать предыдущий код подключения LDAP, но изменить значения для AD, как я это делаю сейчас?

Используйте для аутентификации либо #1, либо #2, но НЕ оба одновременно. Это была моя проблема.

1

AUTH_LDAP_BIND_DN = 
AUTH_LDAP_BIND_PASSWORD = 
AUTH_LDAP_USER_SEARCH = LDAPSearch()

2

AUTH_LDAP_USER_DN_TEMPLATE = 
AUTH_LDAP_BIND_AS_AUTHENTICATING_USER = True
Вернуться на верх