Skip to content

Commit 17a60e4

Browse files
committed
fix: Extend user remove basic permission
1 parent e16d830 commit 17a60e4

1 file changed

Lines changed: 15 additions & 4 deletions

File tree

apps/common/auth/handle/impl/user_token.py

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,14 @@ def get_workspace_resource_permission_list_by_workspace_user_permission(
115115
@param workspace_user_role_mapping_dict: 工作空间用户角色关联字典 key为role_id
116116
@return: 工作空间用户资源的权限列表
117117
"""
118+
# 判断用户在当前工作空间是否为内置USER
119+
workspace_role_ids = [
120+
wur.role_id
121+
for wur in
122+
workspace_user_role_mapping_dict.get(workspace_user_resource_permission.workspace_id,[])
123+
]
124+
is_builtin_user = RoleConstants.USER.value.__str__() in workspace_role_ids
125+
118126
role_permission_mapping_list = [role_permission_mapping_dict.get(workspace_user_role_mapping.role_id, []) for
119127
workspace_user_role_mapping in
120128
workspace_user_role_mapping_dict.get(
@@ -124,12 +132,15 @@ def get_workspace_resource_permission_list_by_workspace_user_permission(
124132
if (workspace_user_resource_permission.auth_type == ResourceAuthType.ROLE
125133
and workspace_user_resource_permission.permission_list.__contains__(
126134
ResourcePermissionRole.ROLE)):
127-
return [
135+
per_op_permissions = [
128136
f"{role_permission_mapping.permission_id}:/WORKSPACE/{workspace_user_resource_permission.workspace_id}/{workspace_user_resource_permission.auth_target_type}/{workspace_user_resource_permission.target}"
129137
for role_permission_mapping in role_permission_mapping_list if (permission_constants_dict.get(role_permission_mapping.permission_id).value.parent_group or []).__contains__(
130-
WorkspaceGroup(workspace_user_resource_permission.auth_target_type))] + [
131-
f"{workspace_user_resource_permission.auth_target_type}:/WORKSPACE/{workspace_user_resource_permission.workspace_id}/{workspace_user_resource_permission.auth_target_type}/{workspace_user_resource_permission.target}"]
132-
138+
WorkspaceGroup(workspace_user_resource_permission.auth_target_type))]
139+
if is_builtin_user:
140+
per_op_permissions.append(
141+
f"{workspace_user_resource_permission.auth_target_type}:/WORKSPACE/{workspace_user_resource_permission.workspace_id}/{workspace_user_resource_permission.auth_target_type}/{workspace_user_resource_permission.target}"
142+
)
143+
return per_op_permissions
133144
elif workspace_user_resource_permission.auth_type == ResourceAuthType.RESOURCE_PERMISSION_GROUP:
134145
resource_permission_list = [
135146
[

0 commit comments

Comments
 (0)