mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-09-06 01:40:52 +00:00
fix: 修复校验用户密码规则
This commit is contained in:
@@ -116,6 +116,18 @@ class UserSerializer(CommonBulkSerializerMixin, serializers.ModelSerializer):
|
||||
raise serializers.ValidationError(msg)
|
||||
return value
|
||||
|
||||
@property
|
||||
def is_org_admin(self):
|
||||
roles = []
|
||||
role = self.initial_data.get('role')
|
||||
if role:
|
||||
roles.append(role)
|
||||
org_roles = self.initial_data.get('org_roles')
|
||||
if org_roles:
|
||||
roles.extend(org_roles)
|
||||
is_org_admin = User.ROLE.ADMIN.value in roles
|
||||
return is_org_admin
|
||||
|
||||
def validate_password(self, password):
|
||||
from ..utils import check_password_rules
|
||||
password_strategy = self.initial_data.get('password_strategy')
|
||||
@@ -125,7 +137,7 @@ class UserSerializer(CommonBulkSerializerMixin, serializers.ModelSerializer):
|
||||
if self.instance and not password:
|
||||
# 更新用户, 未设置密码
|
||||
return
|
||||
if not check_password_rules(password, user=self.instance):
|
||||
if not check_password_rules(password, is_org_admin=self.is_org_admin):
|
||||
msg = _('Password does not match security rules')
|
||||
raise serializers.ValidationError(msg)
|
||||
return password
|
||||
|
Reference in New Issue
Block a user