我正在尝试在测试Django项目中实现LDAP身份验证。我认为我已经正确完成了所有配置(我正在使用django_ldap_auth包),我想测试身份验证而不必创建一个登录的整个站点等。这可能吗?仅供参考,我只是将LDAP作为我公司主要身份验证方法的一部分,并且必须将功能插入到大型项目中。
我已经尝试在localhost上运行服务器并通过终端进行ssh-ing,但显然只会将我登录到我自己的计算机上,我认为:)(不是经验丰富的Linux用户)。
有什么建议吗?
答案 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服务器”}异常。