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() {
返回工作空间
-
+