1

任何人对活动目录服务器使用 django_auth_ldap

我正在尝试通过 django_auth_ldap 设置身份验证并且遇到问题。如果我从 django 交互式 shell 运行我的身份验证,则身份验证工作正常。来自外壳的示例

>>> from django.contrib.auth import authenticate
>>> authenticate(username='#############',password='*************')
search_s('ou=People, o=hp.com', 2, '(uid=%(user)s)') returned 1 objects: uid=###########,ou=people,o=hp.com
Populating Django ###########
Django user ########## does not have a profile to populate
<User:########## >

但是应用程序视图中的相同代码失败了

Caught LDAPError while authenticating ##########: SERVER_DOWN({'desc': "Can't contact LDAP server"},)
4

1 回答 1

3

我想到了。我决定设置远程调试,以便我可以逐步完成该过程并查看在该过程中失败的地方我发现(通过 selinux)阻止了 httpd 进程与我的 eclipse IDE 建立网络连接来修复此问题修复了应用程序。我认为 selinux 阻止了应用程序连接到 ldap 服务器。当我的调试环境全部解决并逐步完成时,一切正常!

允许 httpd 以 root 身份建立网络连接的命令 setsebool -P httpd_can_network_connect 1

于 2014-03-01T20:49:45.007 回答