重置密码后的Django身份验证问题

普拉莫德

我正在为项目使用django 1.8,并且尝试django.contrib.auth.middleware.SessionAuthenticationMiddleware在重置密码后尝试在中间件中注销其他会话。很好,但是我面临的问题是重置后甚至注销了更改密码的会话。我希望在重置密码后,我们更改密码的会话不会注销。我们的user模型继承自AbstractUser

v1k45

如果您使用自己的视图来更改密码,则django使您能够在更改密码后更新会话,以便不注销用户。

为此,您可以使用update_session_auth_hash功能。

user_change_password更改密码后,Django会更新会话。但是对于您自己的自定义视图,可以这样使用update_session_auth_hash

from django.contrib.auth import update_session_auth_hash

def password_change(request):
    if request.method == 'POST':
        form = PasswordChangeForm(user=request.user, data=request.POST)
        if form.is_valid():
            form.save()
            update_session_auth_hash(request, form.user)
    else:
        ...

关于密码更改会话无效的Django文档

您无需使用所有方法,django-allauth可以使用这是一个很棒的应用程序,并且具有各种身份验证功能。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Django中重置密码后对用户进行身份验证

来自分类Dev

身份验证问题,Django

来自分类Dev

如何自定义django rest身份验证密码重置电子邮件内容/模板

来自分类Dev

使用MERN Stack进行密码重置身份验证

来自分类Dev

Django REST Knox身份验证问题

来自分类Dev

在Shiro 1.3.0中实现哈希密码身份验证的问题

来自分类Dev

Redshift连接问题:致命:用户的密码身份验证失败

来自分类Dev

身份验证问题

来自分类Dev

在php中使用django密码进行身份验证

来自分类Dev

我应该如何构造Firebase身份验证密码重置流程?

来自分类Dev

Azure AD B2C App Service身份验证密码重置

来自分类Dev

更改 Ionic 云身份验证密码重置电子邮件的品牌名称

来自分类Dev

身份验证电子邮件限制在 Firebase 免费帐户中重置密码

来自分类Dev

django身份验证功能有问题

来自分类Dev

使用Nginx和Django Rest Framework的身份验证问题

来自分类Dev

Django-Rest-Auth 身份验证问题

来自分类Dev

用户身份验证后删除CSS模糊影响-Django

来自分类Dev

su命令以root用户身份通过passwd编辑密码后,返回无提示身份验证

来自分类Dev

Gamecenter身份验证问题

来自分类Dev

Mongo身份验证问题

来自分类Dev

PHPMailer身份验证问题

来自分类Dev

Laravel身份验证问题

来自分类Dev

PPPoE身份验证问题

来自分类Dev

PHPMailer身份验证问题

来自分类Dev

重置身份验证Cookie

来自分类Dev

使用哈希密码而不是原始密码在django中对功能进行身份验证

来自分类Dev

基于密码的Internet身份验证

来自分类Dev

对加密的密码使用身份验证

来自分类Dev

使用部分密码进行身份验证