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

有没有办法让django allauth在注册时检查密码强度

我发现可以在
settings.py
中设置密码配置
ACCOUNT\u password\u MIN\u LENGTH
的大小,但我也喜欢检查其他常见事项,如:

  • 至少有一个大写字母
  • 至少有一个数字
  • 至少有一个特殊字符
有一种方法可以用django allauth做到这一点吗


提前感谢。

您可以通过覆盖默认适配器(通过
帐户\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")