如何在django auth密码验证器旁边使用自定义密码验证器?

如何在django auth密码验证器旁边使用自定义密码验证器?,第1张

如何在django auth密码验证旁边使用自定义密码验证器?

因此,正如e4c5所述,它确实非常简单明了。

我的CustomPasswordValidator看起来像这样:

from django.core.exceptions import ValidationErrorfrom django.utils.translation import ugettext as _class CustomPasswordValidator():    def __init__(self, min_length=1):        self.min_length = min_length    def validate(self, password, user=None):        special_characters = "[~!@#$%^&*()_+{}":;'[]]"        if not any(char.isdigit() for char in password): raise ValidationError(_('Password must contain at least %(min_length)d digit.') % {'min_length': self.min_length})        if not any(char.isalpha() for char in password): raise ValidationError(_('Password must contain at least %(min_length)d letter.') % {'min_length': self.min_length})        if not any(char in special_characters for char in password): raise ValidationError(_('Password must contain at least %(min_length)d special character.') % {'min_length': self.min_length})    def get_help_text(self):        return ""

只需将其添加到settings.py中的AUTH_PASSWORD_VALIDATORS列表中就可以了!

AUTH_PASSWORD_VALIDATORS = [{    'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',},{    'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',},{    'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',},{    'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',},{   'NAME': 'registration.validators.CustomPasswordValidator',},]


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5431294.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存