Django仅限密码登录

时间:2016-06-30 14:30:11

标签: python django

我目前正在开发一个项目,客户只需使用一个“密码”或密码即可登录其帐户,而无需用户名。安全性不是真正的问题,因为该工具主要供内部使用。用户密码将由管理员插入,因此不会发生登录冲突。如何跳过django身份验证的用户名部分并仅使用密钥?

2 个答案:

答案 0 :(得分:0)

您可以使用相同(硬编码)密码创建所有用户,然后创建登录视图,该视图仅接收密码(即用户名)并将其重定向到具有预定义密码的真实登录表单

答案 1 :(得分:0)

对于您的登录,如果不需要安全性,您可以使用用户名而不是密码。然后在模板和Django视图中获取一个表单:

if request.method == "POST":
    form = ConnexionForm(request.POST)
    if form.is_valid():
        username = form.cleaned_data["Username"]
        user = authenticate(username=username, password=username)
        if user:
            login(request, user)
            UserAuthentified = True
        else:
            Error = True
    else:
        Error = True
else:
    form = ConnexionForm()

您可以在模板中获取所需的用户名,然后在Django中加载它(然后使用locals()):

request.user.username

希望它回答你的问题。