我已经使用 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)。
它可能会告诉您更多有关应用程序内发生的事情的信息。