我正在开发一个 Django 应用程序,它需要将 LDAP 身份验证直接支持到默认管理页面。
我已经集成了 django-auth-ldap 并按照文档进行操作,直到我能理解它为止。
我已经使用 OpenLDAP 和 php 图形界面配置了本地 LDAP 服务器(我也可以使用 ldif 文件配置)。当我尝试登录管理页面时,Django 会找到本地服务器和其中的用户对象,并且还会识别用户属于哪个组。尽管如此,我还是无法登录。我发现的错误:
[21/Aug/2014 11:06:53] "GET /admin/ HTTP/1.1" 200 1870
search_s('ou=users,dc=whiteqube', 2, '(cn=%(user)s)') 返回1 个对象:cn=sonia,ou=users,dc=whiteqube
DEBUG:django_auth_ldap:search_s('ou=users,dc=whiteqube', 2, '(cn=%(user)s)') 返回 1 个对象:cn= sonia,ou=users,dc=whiteqube sonia
身份验证失败
DEBUG:django_auth_ldap:sonia 身份验证失败
[21/Aug/2014 11:06:56] "POST /admin/ HTTP/1.1" 200 2046
在管理界面,只是登录失败。
我的设置.py:
# - - - - LDAP CONFIGURATION - - - - #
#
# Importing ldap libraries and applications
import ldap
from django_auth_ldap.config import LDAPSearch, GroupOfNamesType, PosixGroupType
# …Run Code Online (Sandbox Code Playgroud)