我想强制用户在首次登录时更改密码。我可以使用默认的 django 身份验证系统来执行此操作吗?
最佳答案
简而言之,是的。
您需要知道哪些用户需要更改密码。如果您不想使用自定义用户模型,我建议使用另一个模型来存储需要更改密码的用户。您可以在用户注册/创建时将用户添加到此表中。
然后您可以编写一个非常简单的中间件来检查当前登录的用户(将其放在 settings.py 中的 AuthenticationMiddleware 之后)。如果用户被标记为需要更改密码,您可以使用 PasswordChangeForm(在 Django 中开箱即用,位于 django.contrib.auth.forms.PasswordChangeForm 中)强制将 HttpResponse(在中间件中)发送到自定义 View ,之后您可以删除用户的标志,并将他们重定向到主页。
关于python - 要求用户在首次登录时更改密码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31167457/