更改Django身份验证后端以进行测试

肖恩·辛格(Shaun Singh)

我的Django站点使用LDAP后端在生产环境中进行身份验证,但这不适用于测试(无法创建来自虚拟用户的请求)。如何仅针对测试禁用此后端?

这是相关的settings.py部分:

    AUTHENTICATION_BACKENDS = (
#'crowd.backend.CrowdBackend',
# 'django_auth_ldap.backend.LDAPBackend',
'django.contrib.auth.backends.ModelBackend',
    )
   AUTH_LDAP_SERVER_URI = "ldap://ldap.cablelabs.com"
   import ldap
   from django_auth_ldap.config import LDAPSearch

   AUTH_LDAP_BIND_DN = "CN=CableLabs  Internal,OU=cabletest,OU=Teamwork,OU=community,DC=cablelabs,DC=com"
   AUTH_LDAP_BIND_PASSWORD = "UAq,0@ki"
   AUTH_LDAP_USER_SEARCH = LDAPSearch("ou=community,dc=cablelabs,dc=com",ldap.SCOPE_SUBTREE, "(sAMAccountName=%(user)s)")
   AUTH_LDAP_USER_ATTR_MAP = {"first_name": "givenName", "last_name": "sn","username":"sAMAccountName","email":"mail","photo":"thumbnailPhoto"} 
   AUTH_LDAP_CONNECTION_OPTIONS = {
     ldap.OPT_REFERRALS: 0
   }
亚诺斯

创建一个备用设置文件,例如myproj/test_settings.py,并在运行单元测试时指定该设置文件。

像这样编写备用设置文件:

from myproj.settings import *

AUTHENTICATION_BACKENDS = (
        #'your.ldap.backend',
        'django.contrib.auth.backends.ModelBackend',
        )

也就是说,这些设置继承了常规设置的所有内容,但是会覆盖该AUTHENTICATION_BACKENDS定义,并注释掉了LDAP后端。

然后,像这样运行测试:

python manage.py test --settings=myproj.test_settings

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用身份验证在 Django 中进行测试

在Django中,登录后如何检测哪个auth后端对用户进行了身份验证?

Django,Angular和DRF:Django后端与API的身份验证

使用Django REST Framework作为Django的身份验证后端

Firebase向后端服务器进行身份验证

在android中使用后端进行Firebase身份验证

身份验证后端文件

通过API进行Django身份验证

使用 Django 进行 LDAP 身份验证

Django 的自定义身份验证中间件和身份验证后端

Django 自定义身份验证后端 - “is_valid”调用身份验证

Django-身份验证不会向用户添加后端

如何列出Django用户可用的身份验证后端?

AWS Cognito作为网站的Django身份验证后端

对Django Rest Framework后端的Ionic Google社交身份验证

“未找到后端” django社交身份验证

如何使用第三方CAS身份验证从独立的前端与django后端(相同的域,不同的端口)对用户进行身份验证?

如何测试需要用户在 Django 中进行身份验证的视图?

使用 WebSocketCommunicator 在 Django Channels v2 测试中进行身份验证

硒测试:使用Webauthn进行身份验证

使用Capybara / Minitest处理身份验证以进行集成测试

在前端使用OAuth成功进行身份验证后,如何与后端进行交互?

更改默认用户进行身份验证

Swift:从RESTful API进行身份验证后更改ViewController

如何重置或更改IntelliJ进行身份验证的Git用户?

如何在Django频道上使用令牌身份验证对Websocket进行身份验证?

为 Django 测试创建经过身份验证的用户

测试身份验证方法

Django REST框架APIClient在外壳中进行身份验证,但不在我的单元测试中