【问题标题】:Auto logout/destroy session after Password Change in Django在 Django 中更改密码后自动注销/销毁会话
【发布时间】:2016-05-17 23:54:35
【问题描述】:

我正在使用 django 框架,我需要在密码更改后自动注销用户 (not password reset via mail)。

我正在使用 django 的 :"contrib.auth.views.password_change" 来帮助我做到这一点,

也就是说,我没有单独的视图,因此我也在使用 Django 的 password_change_done 视图。

我需要知道在使用 django 的默认视图时是否可以在更改密码后自动注销/销毁会话?

【问题讨论】:

  • 请问为什么?从可用性角度来看,这听起来真的很烦人
  • 我正在使用业务基础设施,最终用户的屏幕可能对“随机”人开放。我会尝试 A/B 测试,看看用户的反应

标签: python django session django-sessions


【解决方案1】:

password_change 有一个 post_change_redirect,所以你可以替换它:

from django.contrib.auth.views import password_change
from django.core.urlresolvers import reverse

def my_password_change(request):
    return password_change(request=request,post_change_redirect=reverse('logout'))

然后在您的 urls.py 中,将 my_password_change 设置为接受密码更改请求的视图:

url(r'^password_change/done/$',my_password_change,name="my_password_change")

【讨论】:

    猜你喜欢
    • 2012-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-29
    • 1970-01-01
    • 2018-09-04
    • 1970-01-01
    • 2012-02-15
    相关资源
    最近更新 更多