要求用户在首次登录时更改密码?

时间:2015-07-01 16:59:35

标签: python django

我想强制用户在首次登录时更改密码。我可以使用默认的django身份验证系统吗?

1 个答案:

答案 0 :(得分:1)

简而言之,是的。

您需要知道哪些用户需要更改密码。如果您不想使用自定义用户模型,我建议您使用其他模型来存储需要更改密码的用户。您可以在用户注册/创建时将用户添加到此表。

然后你可以编写一个非常简单的中间件来检查当前记录的用户(将它放在settings.py中的AuthenticationMiddleware之后)。如果用户被标记为需要更改密码,则可以使用PasswordChangeForm(在Django中的django.contrib.auth.forms.PasswordChangeForm中开箱即用)强制HttpResponse(在中间件中)到自定义视图,之后你可以删除用户的标志,并将它们重定向到主页。