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