使用 LDAP 配置 django

使用 LDAP 配置 django

我已经使用 Python 应用程序成功配置了 LDAP,仅使用了以下语句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 进行同样的操作,但是我在网上看到的所有说明都相当复杂。

与我的 web2py LDAP 设置等效的 Django 是什么?

有没有简单的方法可以将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',
)

这是我尝试进行身份验证时看到的内容:

在此处输入图片描述

答案1

前段时间,我在调试 graphite ldap 安装

ldap.set_option(ldap.OPT_DEBUG_LEVEL,65535)

这是我取自 graphite 文档 (http://graphite.readthedocs.io/en/latest/config-local-settings.html)。

它可能会告诉您更多有关应用程序内发生的事情的信息。

相关内容