在开发环境中绕过登录是否安全?

时间:2017-05-10 16:23:35

标签: python django

我正在开发django中的网站,需要使用不同的用户配置文件进行登录才能对其进行测试。目前,我将数据库中所有用户的密码设置为django解密并解释为" 1234"的字符串。 为避免这种情况,我在下面的函数中包含了默认登录。将此代码用于生产是否安全?

def login(request, redirect_field_name=REDIRECT_FIELD_NAME, *args, **kwargs):
    from django.contrib.auth.views import login as django_login
    from django.contrib.auth import login as auth_login
    if settings.DEBUG:
        redirect_to = request.POST.get(redirect_field_name, request.GET.get(redirect_field_name, ''))
        if request.method == "POST":
            user = request.POST.get('username', '')
            user = Usuario.objects.filter(cpf=user)
            if user.exists:
                user = user.first()
                user.backend = 'django.contrib.auth.backends.ModelBackend'
                auth_login(request, user)
                return HttpResponseRedirect(redirect_to)

    return django_login(request, *args, **kwargs)

1 个答案:

答案 0 :(得分:0)

您必须阅读Unit Tests on Django

所以你可以编写一个程序来创建一些用户,然后使用then测试登录,毕竟你可以删除该用户的测试

这样您就不需要在其数据库中创建许多密码为'123'的用户