2011-11-20 151 views
0

我在本地计算机上托管一个基于django的站点(我对其具有完全访问权/控制权)。 本网站通过django ldap插件对远程活动目录进行身份验证。Django Ldap身份验证超时

通过LDAP服务器进行身份验证用于工作!

现在,当试图根据LDAP服务器进行身份验证时,请求会挂起直到超时。我在日志中找不到任何有用的东西。

服务器设置为: NginX,Django 1.3,Fedora 15,mySql 5.1。

我不知道我应该试着看什么日志。
(我试图寻找在nginx的accesserror日志,但都没用。)

事情我想:

运行在Django的网站,并通过本地主机访问它(通过Nginx的不去,但访问python manage.py直接通过runserver命令)。 This works

从命令行运行ldapsearch这个工程

编辑: 我使用Wireshark来看看与LDAP服务器背面的往复。交互似乎很好 - django发送一个绑定请求并接收成功消息,然后发送一个搜索查询并返回一个用户对象。然而,在这个沟通django似乎挂起之后。当我在运行“authenticate(username = user,password = pass)”后在django shell中“Ctrl-c”时,堆栈跟踪位于django-ldap库的某处。

请帮助,我不知道是什么导致了这个问题的变化。

先谢谢您

+0

你有没有解决你的问题? 我有完全相同的问题,ldapsearch的作品,但django-auth-ldap挂起,直到超时。 –

回答

0

Active Directory不允许匿名绑定进行授权;你可以匿名绑定,但你不能做任何事情。

检查正在用于与AD绑定的用户是否具有有效的凭据(即该帐户尚未过期)。如果有,你会得到这些奇怪的错误。

+0

正如我所提到的,我成功地从命令行输入了“ldapsearch”(我使用与django应用程序相同的凭证),所以这不成问题。另请参阅我的编辑。 – shevski

+0

为ldap启用日志记录,然后发布日志。 进口测井 记录器= logging.getLogger( 'django_auth_ldap') logger.addHandler(logging.StreamHandler()) logger.setLevel(logging.DEBUG) –