【问题标题】:How to perform additional actions on PasswordReset in Django如何在 Django 中对 PasswordReset 执行附加操作
【发布时间】:2019-05-07 05:06:20
【问题描述】:

当用户尝试输入系统无法识别的凭据时,我正在使用 django-axes 锁定帐户,它会锁定帐户。

但是当我使用 django auth 包对锁定的帐户执行密码重置功能时,显然没有捷径可以解除帐户的锁定。

即使密码已经重置,该帐户仍会被 django-axes 锁定几分钟。

我正在尝试执行

python manage.py axes_reset_username

在 类 PasswordResetCompleteView 上,但我不确定如何访问已重置密码的用户名。

【问题讨论】:

标签: python django


【解决方案1】:

必须覆盖 auth 类以添加有关密码重置的说明。 这是代码

from django.contrib.auth import views as auth_views
from axes.utils import reset

class PasswordResetConfirmView(auth_views.PasswordResetConfirmView):
    success_url = reverse_lazy('user_management:password_reset_complete')

    def form_valid(self, form):
        user = form.save()
        reset(username=user.username)
        return super().form_valid(form)

我确实重写了 PasswordResetConfirmView 类的 form_valid 函数。然后使用 django-axes 实用程序重置 reset(username=user.username)

希望这对某人有所帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-10
    • 2020-04-15
    • 2019-12-22
    • 1970-01-01
    • 2016-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多