Как выполнить дополнительные действия по PasswordReset в Django - PullRequest
0 голосов
/ 07 мая 2019

Я использую оси django для блокировки учетной записи, когда пользователь пытается ввести учетные данные, которые не распознаются системой, он заблокирует учетную запись.

Но когда я выполняю функцию сброса пароля, используя пакет аутентификации django для заблокированной учетной записи, очевидно, что нет быстрого способа снять блокировку учетной записи.

Даже если пароль уже сброшен, учетная запись все равно будет заблокирована осями django на пару минут.

Я пытаюсь выполнить

python manage.py axes_reset_username

в классе PasswordResetCompleteView , но я не уверен, как получить доступ к имени пользователя, пароль которого был сброшен.

1 Ответ

0 голосов
/ 08 мая 2019

класс аутентификации должен был быть переопределен, чтобы добавить инструкции по сбросу пароля.вот код

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)

Я переопределил функцию form_valid класса PasswordResetConfirmView.затем используйте утилиту django-axes для сброса reset (username = user.username)

надеюсь, это кому-нибудь поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...