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

标签 python django

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

最佳答案

简而言之,是的。

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

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

关于python - 要求用户在首次登录时更改密码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31167457/

相关文章:

python - Python 请求真的连接到 http 代理吗?

jquery - Django Ajax/Jquery 在计时器上刷新 DIV 元素

python - 在 Django View 中验证后,对象没有属性 'cleaned_data'

django - 解读Django服务器请求日志

python - 按标签顺序对 html 内容进行分组

python - 合并共享属性的节点

python - 返回模型 Django Rest Framework 的键/属性 JSON 对象而不是 JSON 数组

css - 我的更新页面的 css 没有正确加载,但其他页面工作得很好

python - sys.getsizeof(list) 返回小于其元素之和的值

python - 如何追溯日志错误?