Назад | Перейти на главную страницу

Настройка django с помощью LDAP

Я успешно настроил LDAP с приложением Python, используя немногим больше, чем эти операторы в db/model.py:

from gluon.contrib.login_methods.ldap_auth import ldap_auth
auth.settings.login_methods = [ldap_auth(mode='ad', server='ldap.example.com', base_dn='dc=example,dc=com')]

Я пробую то же самое с Django, но все инструкции, которые я видел в Интернете, довольно сложны.

Каким будет Django, эквивалентный моей настройке LDAP web2py?

Есть ли простой способ отладить процесс подключения LDAP к консоли сервера django?

Вот что я пытался:

import ldap
from django_auth_ldap.config import LDAPSearch, GroupOfNamesType

# LDAP Configuration
AUTH_LDAP_SERVER_URI = "ldap://ldap.example.com"
AUTH_LDAP_BIND_DN = ""
AUTH_LDAP_BIND_PASSWORD = ""
AUTH_LDAP_USER_DN_TEMPLATE = "uid=%(user)s,ou=users,dc=example,dc=com"

# group names:
#AUTH_LDAP_GROUP_SEARCH = LDAPSearch("ou=groups,dc=example,dc=com",
#         ldap.SCOPE_SUBTREE, "(objectClass=groupOfNames)"
#         )
#AUTH_LDAP_GROUP_TYPE = GroupOfNamesType()
#AUTH_LDAP_FIND_GROUP_PERMS = True
#AUTH_LDAP_CACHE_GROUPS = True
#AUTH_LDAP_GROUP_CACHE_TIMEOUT = 300


AUTH_LDAP_USER_ATTR_MAP = {"first_name": "givenName", "last_name": "sn", "email": "mail"}
AUTH_LDAP_PROFILE_ATTR_MAP = {"home_directory": "homeDirectory"}

AUTH_LDAP_USER_FLAGS_BY_GROUP = {
    "is_active": "cn=active,ou=groups,dc=example,dc=com",
    "is_staff": "cn=staff,ou=groups,dc=example,dc=com",
    "is_superuser": "cn=superuser,ou=groups,dc=example,dc=com",
}

AUTHENTICATION_BACKENDS = (
    'django_auth_ldap.backend.LDAPBackend',
    'django.contrib.auth.backends.ModelBackend',
)

Вот что я сейчас вижу, когда пытаюсь аутентифицироваться:

некоторое время назад при отладке установки графитового ldap

ldap.set_option (ldap.OPT_DEBUG_LEVEL, 65535)

который я получил из графитовых документов (http://graphite.readthedocs.io/en/latest/config-local-settings.html).

Это может рассказать вам больше о том, что происходит в вашем приложении.