django - 在 Django 中测试身份验证

标签 django ldap

我正在尝试在测试 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/

相关文章:

python - 为什么不在 Django 检查字符串结尾时包含 url 正则表达式

python - 如何覆盖第三方 django 包的迁移

android - 如何在我们的 Android 应用程序中使用 LDAP 身份验证?

python - connection.cursor() 作为游标会创建新连接吗?

python - Django 测试——无法删除并重新创建测试数据库

django - 在 Linux 上搜索 Chef + Django 的项目框架

PHP:为什么 LDAP 过滤器不适用于 "_"符号?

通过 SSL 的 Postgresql LDAP 身份验证

c# - LdapConnection 与 PrincipalContext

java - 有没有更简洁的方法来分析错误代码的 AuthenticationException?