Я успешно настроил 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).
Это может рассказать вам больше о том, что происходит в вашем приложении.