Django allauth和注册时的密码强度
有没有办法让django allauth在注册时检查密码强度 我发现可以在Django allauth和注册时的密码强度,django,django-allauth,Django,Django Allauth,有没有办法让django allauth在注册时检查密码强度 我发现可以在settings.py中设置密码配置ACCOUNT\u password\u MIN\u LENGTH的大小,但我也喜欢检查其他常见事项,如: 至少有一个大写字母 至少有一个数字 至少有一个特殊字符 有一种方法可以用django allauth做到这一点吗 提前感谢。您可以通过覆盖默认适配器(通过帐户\u适配器)来完成此操作,如下所示: from allauth.account.adapter import Defau
settings.py
中设置密码配置ACCOUNT\u password\u MIN\u LENGTH
的大小,但我也喜欢检查其他常见事项,如:
- 至少有一个大写字母
- 至少有一个数字
- 至少有一个特殊字符
提前感谢。您可以通过覆盖默认适配器(通过
帐户\u适配器
)来完成此操作,如下所示:
from allauth.account.adapter import DefaultAccountAdapter
class MyAccountAdapter(DefaultAccountAdapter):
def clean_password(self, password):
# Insert your rules here
请注意,Django最近添加了对自定义密码验证器的支持。allauth也将支持此机制,请密切关注此问题。您可以通过覆盖默认适配器(通过
帐户\u适配器
)来完成此操作,如下所示:
from allauth.account.adapter import DefaultAccountAdapter
class MyAccountAdapter(DefaultAccountAdapter):
def clean_password(self, password):
# Insert your rules here
请注意,Django最近添加了对自定义密码验证器的支持。allauth也将支持此机制,请关注此问题。谢谢!这是我的解决方案,希望对大家有所帮助
# project/settings.py:
ACCOUNT_ADAPTER = 'user_profile.adapters.MyAccountAdapter'
# project/user_profile/adapter.py:
from allauth.account.adapter import DefaultAccountAdapter
class MyAccountAdapter(DefaultAccountAdapter):
def clean_password(self, password):
if re.match(r'^(?=.*?\d)(?=.*?[A-Z])(?=.*?[a-z])[A-Za-z\d]{8,}$', password):
return password
else:
raise ValidationError("Error message")
谢谢!这是我的解决方案,希望对大家有所帮助
# project/settings.py:
ACCOUNT_ADAPTER = 'user_profile.adapters.MyAccountAdapter'
# project/user_profile/adapter.py:
from allauth.account.adapter import DefaultAccountAdapter
class MyAccountAdapter(DefaultAccountAdapter):
def clean_password(self, password):
if re.match(r'^(?=.*?\d)(?=.*?[A-Z])(?=.*?[a-z])[A-Za-z\d]{8,}$', password):
return password
else:
raise ValidationError("Error message")