Django Ldap 认证超时
我在本地机器上搭建了一个基于Django的网站(我对它有完全的访问和控制权限)。这个网站通过Django的ldap插件,使用远程的活动目录来验证用户。
之前验证LDAP服务器是可以正常工作的!
现在,当我尝试验证LDAP服务器时,请求一直挂着,直到超时。我在日志中找不到任何有用的信息。
我的服务器设置是:NginX、Django 1.3、Fedora 15、mySql 5.1。
我不知道应该查看哪些日志。
(我尝试查看了nginx的access
和error
日志,但没有用。)
我尝试过的事情:
直接在Django上运行网站,通过localhost访问(没有通过Nginx,而是直接用python manage.py
,通过runserver
命令)。这样是可以的
从命令行运行ldapsearch
。这样也可以
补充:我使用Wireshark查看了与LDAP服务器的交互。看起来交互是正常的——Django发送了一个绑定请求,并收到了成功的消息,然后发送了一个搜索查询,并返回了一个用户对象。然而,在这次通信之后,Django似乎就挂住了。当我在Django的命令行中运行“authenticate(username=user, password=pass)”后按“Ctrl-c”,堆栈跟踪停在了django-ldap库的某个地方。
请帮帮我,我不知道是什么变化导致了这个问题。
提前谢谢你
1 个回答
0
Active Directory不允许匿名绑定来进行授权;你可以进行匿名绑定,但之后就不能做其他事情了。
检查一下用来连接Active Directory的用户是否有有效的账号信息(比如,这个账号是否还在有效期内)。如果账号过期了,你就会遇到一些奇怪的错误。