perf: Priacy mode

This commit is contained in:
feng 2025-03-27 18:25:41 +08:00 committed by ZhaoJiSen
parent 514b2cdfc5
commit f6913ac63c
4 changed files with 11 additions and 0 deletions

View File

@ -598,6 +598,7 @@ class Config(dict):
'USER_LOGIN_SINGLE_MACHINE_ENABLED': False,
'ONLY_ALLOW_EXIST_USER_AUTH': False,
'ONLY_ALLOW_AUTH_FROM_SOURCE': False,
'PRIVACY_MODE': False,
# 用户登录限制的规则
'SECURITY_LOGIN_LIMIT_COUNT': 7,
'SECURITY_LOGIN_LIMIT_TIME': 30,

View File

@ -346,5 +346,6 @@ AUTHENTICATION_BACKENDS_THIRD_PARTY = [
]
ONLY_ALLOW_EXIST_USER_AUTH = CONFIG.ONLY_ALLOW_EXIST_USER_AUTH
ONLY_ALLOW_AUTH_FROM_SOURCE = CONFIG.ONLY_ALLOW_AUTH_FROM_SOURCE
PRIVACY_MODE = CONFIG.PRIVACY_MODE
SAML_FOLDER = os.path.join(BASE_DIR, 'authentication', 'backends', 'saml2')

View File

@ -71,6 +71,7 @@ class PrivateSettingSerializer(PublicSettingSerializer):
TOOL_USER_ENABLED = serializers.BooleanField()
DEFAULT_EXPIRED_YEARS = serializers.IntegerField()
PRIVACY_MODE = serializers.BooleanField()
class ServerInfoSerializer(serializers.Serializer):

View File

@ -119,6 +119,14 @@ class UserProfileSerializer(UserSerializer):
if org_roles_field:
org_roles_field.read_only = True
if settings.PRIVACY_MODE:
for field in (
'phone', 'wechat',
'wecom_id', 'dingtalk_id',
'feishu_id', 'slack_id', 'lark_id'
):
self.fields.pop(field, None)
@staticmethod
def get_guide_url(obj):
return settings.USER_GUIDE_URL