Django Ldap 认证超时

0 投票
1 回答
1501 浏览
提问于 2025-04-17 06:41

我在本地机器上搭建了一个基于Django的网站(我对它有完全的访问和控制权限)。这个网站通过Django的ldap插件,使用远程的活动目录来验证用户。

之前验证LDAP服务器是可以正常工作的!

现在,当我尝试验证LDAP服务器时,请求一直挂着,直到超时。我在日志中找不到任何有用的信息。

我的服务器设置是:NginX、Django 1.3、Fedora 15、mySql 5.1。

我不知道应该查看哪些日志。
(我尝试查看了nginx的accesserror日志,但没有用。)

我尝试过的事情:

直接在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的用户是否有有效的账号信息(比如,这个账号是否还在有效期内)。如果账号过期了,你就会遇到一些奇怪的错误。

撰写回答