From 66aaa0eb9e3ad5bc5abc45ae127a73eeff03d8b6 Mon Sep 17 00:00:00 2001 From: wxg0103 <727495428@qq.com> Date: Thu, 29 Oct 2026 15:26:47 +0800 Subject: [PATCH] fix: improve permission checks for workspace management and user roles --- ui/src/layout/LayoutHeader.vue | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/ui/src/layout/LayoutHeader.vue b/ui/src/layout/LayoutHeader.vue index 73cd93bcc38..865562e6826 100644 --- a/ui/src/layout/LayoutHeader.vue +++ b/ui/src/layout/LayoutHeader.vue @@ -25,18 +25,15 @@ function hasRolePrefix(name: string) { } // 系统管理员:内置 ADMIN 或自定义 ADMIN 类型(EXTENDS_ADMIN 无 :w: 后缀) -const canManageSystem = computed(() => - hasPermission([RoleConstants.ADMIN, RoleConstants.EXTENDS_ADMIN], Compare.OR), -) +const canManageSystem = computed(() => hasPermission([RoleConstants.ADMIN, RoleConstants.EXTENDS_ADMIN], Compare.OR)) // 工作空间管理员:内置 WORKSPACE_MANAGE 或自定义 EXTENDS_WORKSPACE_MANAGE const isWorkspaceManager = computed(() => { const workspaceId = getWorkspaceId() return ( - hasPermission( - [RoleConstants.WORKSPACE_MANAGE, new Role(RoleConstants.WORKSPACE_MANAGE.name, workspaceId)], - Compare.OR, - ) || hasRolePrefix(RoleConstants.EXTENDS_WORKSPACE_MANAGE.name) + hasPermission([RoleConstants.WORKSPACE_MANAGE, new Role(RoleConstants.WORKSPACE_MANAGE.name, workspaceId)], Compare.OR) || + hasRolePrefix(RoleConstants.EXTENDS_WORKSPACE_MANAGE.name) || + hasRolePrefix(RoleConstants.WORKSPACE_MANAGE.name) ) }) @@ -45,7 +42,8 @@ const isOrdinaryUser = computed(() => { const workspaceId = getWorkspaceId() return ( hasPermission([RoleConstants.USER, new Role(RoleConstants.USER.name, workspaceId)], Compare.OR) || - hasRolePrefix(RoleConstants.EXTENDS_USER.name) + hasRolePrefix(RoleConstants.EXTENDS_USER.name) || + hasRolePrefix(RoleConstants.USER.name) ) }) @@ -80,7 +78,7 @@ function switchMode() { 升级 - + 系统管理 @@ -89,7 +87,7 @@ function switchMode() { 返回工作空间 - +