在Django中测试身份验证

时间:2011-06-29 15:34:38

标签: django ldap

我正在尝试在测试Django项目中实现LDAP身份验证。我认为我已经正确完成了所有配置(我正在使用django_ldap_auth包),我想测试身份验证而不必创建一个登录的整个站点等。这可能吗?仅供参考,我只是将LDAP作为我公司主要身份验证方法的一部分,并且必须将功能插入到大型项目中。

我已经尝试在localhost上运行服务器并通过终端进行ssh-ing,但显然只会将我登录到我自己的计算机上,我认为:)(不是经验丰富的Linux用户)。

有什么建议吗?

1 个答案:

答案 0 :(得分:17)

转到Django项目文件夹并使用

启动python解释器
python manage.py shell

然后再做,

from django_auth_ldap.backend import LDAPBackend

ldapobj = LDAPBackend()
user = ldapobj.populate_user(<LDAP username of an existing user>)
user.is_anonymous()

如果最后一个函数调用返回false,那么您的LDAP身份验证模块将按预期工作。

编辑:

运行上面的Python解释器,

import ldap
server = 'ldap://<your server ip>'
user_dn = '<dn for a known user>'
password = '<his or her password>'
con = ldap.initialize(server)
con.simple_bind_s(user_dn, password)

如果无法连接到LDAP服务器,这将返回SERVER_DOWN:{'desc':“无法联系LDAP服务器”}异常。