diff --git a/apps/common/auth/struct/aggregate_permission.py b/apps/common/auth/struct/aggregate_permission.py index cb1c7e92098..9936eb725d5 100644 --- a/apps/common/auth/struct/aggregate_permission.py +++ b/apps/common/auth/struct/aggregate_permission.py @@ -73,7 +73,7 @@ def results(): @staticmethod def _match_permission(permission: Union[PermissionConstants, Permission], user_permissions: dict) -> bool: p = permission.value if isinstance(permission, PermissionConstants) else permission - key = p.get_resource_permission_key(p.resource_id) if p.resource_id else str(p) + key = p.get_resource_permission_key(p.resource_id) return key in user_permissions and (user_permissions[key] & p.bit()) > 0 @staticmethod diff --git a/apps/system_manage/views/user_group_resource_permission.py b/apps/system_manage/views/user_group_resource_permission.py index 8d2fe9f9243..b1a09d8520d 100644 --- a/apps/system_manage/views/user_group_resource_permission.py +++ b/apps/system_manage/views/user_group_resource_permission.py @@ -58,11 +58,9 @@ class WorkSpaceUserGroupResourcePermissionView(APIView): tags=[_("Resources authorization")], # type: ignore ) @has_permissions( - lambda r, kwargs: PermissionConstants[ - kwargs.get("resource") + "_RESOURCE_PERMISSION_READ" - ]._build_workspace_permission(), + lambda r, kwargs: PermissionConstants[kwargs.get("resource") + "_RESOURCE_PERMISSION_READ"], RoleConstants.ADMIN, - RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), + RoleConstants.WORKSPACE_MANAGE, ) def get(self, request: Request, workspace_id: str, user_group_id: str, resource: str): return result.success(