在Django中测试身份验证

LDA*_*ems 14 django ldap

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

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

有什么建议 ?

vim*_*vim 19

转到Django项目文件夹并使用启动python解释器

python manage.py shell
Run Code Online (Sandbox Code Playgroud)

然后呢,

from django_auth_ldap.backend import LDAPBackend

ldapobj = LDAPBackend()
user = ldapobj.populate_user(<LDAP username of an existing user>)
user.is_anonymous()
Run Code Online (Sandbox Code Playgroud)

如果最后一个函数调用返回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)
Run Code Online (Sandbox Code Playgroud)

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