feat: Add LeakPasswords config

This commit is contained in:
wangruidong
2025-05-06 18:20:34 +08:00
committed by 老广
parent 0bdbb6fd84
commit 089a5f50f4
15 changed files with 161 additions and 12 deletions

View File

@@ -7,9 +7,11 @@ __all__ = [
'SecurityPasswordRuleSerializer', 'SecuritySessionSerializer',
'SecurityAuthSerializer', 'SecuritySettingSerializer',
'SecurityLoginLimitSerializer', 'SecurityBasicSerializer',
'SecurityBlockIPSerializer'
'SecurityBlockIPSerializer', 'LeakPasswordPSerializer'
]
from settings.models import LeakPasswords
class SecurityPasswordRuleSerializer(serializers.Serializer):
SECURITY_PASSWORD_EXPIRATION_TIME = serializers.IntegerField(
@@ -269,3 +271,20 @@ class SecuritySettingSerializer(
class SecurityBlockIPSerializer(serializers.Serializer):
id = serializers.UUIDField(required=False)
ip = serializers.CharField(max_length=1024, required=False, allow_blank=True)
class LeakPasswordPSerializer(serializers.ModelSerializer):
def create(self, validated_data):
return LeakPasswords.objects.using('sqlite').create(**validated_data)
def update(self, instance, validated_data):
for attr, value in validated_data.items():
setattr(instance, attr, value)
instance.save(using='sqlite')
return instance
class Meta:
read_only_fields = ['id']
fields = read_only_fields + ['password']
model = LeakPasswords