Валидаторы паролей Django - PullRequest
       30

Валидаторы паролей Django

0 голосов
/ 23 октября 2018

Django 1.11.8

Как я могу изменить ограничения пароля?Я отредактировал файл setting.py с этим примером:

AUTH_PASSWORD_VALIDATORS = [
{
    'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
},
{
    'NAME': 'django.contrib.auth.form.password_validation.MinimumLengthValidator',
    'OPTIONS': {
        'min_length': 4,
    }
},
{
    'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
},
{
    'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
},

]

Но предупреждающее сообщение не меняется (например, всегда 8 символов).Достаточно ли изменить параметры длины?enter image description here

1 Ответ

0 голосов
/ 23 октября 2018

Это должно быть изменено.Если вы проверите исходный код для MinimumLengthValidator.

class MinimumLengthValidator(object):
    """
    Validate whether the password is of a minimum length.
    """
    def __init__(self, min_length=8):
        self.min_length = min_length

    def validate(self, password, user=None):
        if len(password) < self.min_length:
            raise ValidationError(
                ungettext(
                    "This password is too short. It must contain at least %(min_length)d character.",
                    "This password is too short. It must contain at least %(min_length)d characters.",
                    self.min_length
                ),
                code='password_too_short',
                params={'min_length': self.min_length},
            )

    def get_help_text(self):
        return ungettext(
            "Your password must contain at least %(min_length)d character.",
            "Your password must contain at least %(min_length)d characters.",
            self.min_length
        ) % {'min_length': self.min_length}

Возможно, перезагрузите сервер (или перезапустите сервер запуска)

Если это не изменится, у вас есть возможность создать свой собственный валидатор.проверьте документы здесь

...