我正在尝试在测试 Django 项目中实现 LDAP 身份验证。我想我已经正确完成了所有配置(我正在使用 django_ldap_auth 包)并且我想测试身份验证而不必创建一个带有登录等的整个站点。这可能吗?仅供引用,我只是将 LDAP 作为我公司主要身份验证方法的一部分,并且必须将该功能插入到一个大型项目中。
我尝试在 localhost 上运行服务器并通过终端进行 ssh-ing,但显然这只会让我登录到我自己的计算机上,我认为 :)(不是经验丰富的 Linux 用户)。
有什么建议么 ?
最佳答案
转到您的 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': "Can't contact LDAP server"} 异常。
关于django - 在 Django 中测试身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6523270/