@san7667

Как установить срок действия пароля в Django?

В Django я использую метод авторизации django-allauth В документации по Django я не нашел информации по настройке срока действия пароля для пользователей. Существует ли готовое решение в django-allauth по установке срока действия пароля например 90 дней? Если есть, то как называется этот параметр и где его нужно указать, так же нужно если этот пароль истек, перенаправить пользователя на форму смены пароля. Спасибо.
  • Вопрос задан
  • 153 просмотра
Решения вопроса 1
@san7667 Автор вопроса
Решил вопрос самостоятельно через django-allauth в LoginRequiredMixin прописал дополнительное условие.

class LoginRequiredMixin(AccessMixin):

    def dispatch(self, request, *args, **kwargs):
        if not request.user.is_authenticated:
            return self.handle_no_permission()
        if request.user.is_authenticated:
            date_pass = Profile.objects.get(user=request.user.id).date_pass
            if date.today() - date_pass > timedelta(days=90):
                return HttpResponseRedirect(reverse_lazy('account_change_password'))
        return super().dispatch(request, *args, **kwargs)


Может кому пригодиться
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Everything_is_bad
Задача элементарная, добавь юзеру поле когда был задан пароль, потом добавь проверку на разницу этой даты с текущей. Зачем сюда приплетать allauth, непонятно.

Существует ли готовое решения
все готовые решения ищутся через гугл или на djangopackages. Давай научу тебе как искать в гугле, сначала открываешь его, потом прям так и вбиваешь "django user password expiration"
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы