From 45b81c87ec0274856efd023ff60296c9227509ed Mon Sep 17 00:00:00 2001 From: wangjiahao <1522128093@qq.com> Date: Mon, 25 Jul 2022 18:12:43 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E8=8F=9C=E5=8D=95=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E5=A4=8D=E5=90=88=E6=9D=83=E9=99=90=E6=A0=A1=E9=AA=8C?= =?UTF-8?q?=EF=BC=8C=E9=98=B2=E6=AD=A2=E7=94=A8=E6=88=B7=E8=AE=BF=E9=97=AE?= =?UTF-8?q?=E6=97=A0=E6=9D=83=E9=99=90=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/resources/db/migration/V38__1.13.sql | 16 ++++++++++++++++ frontend/src/permission.js | 14 ++++++++++++-- 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/backend/src/main/resources/db/migration/V38__1.13.sql b/backend/src/main/resources/db/migration/V38__1.13.sql index 7ad0eab53f..278d59da6a 100644 --- a/backend/src/main/resources/db/migration/V38__1.13.sql +++ b/backend/src/main/resources/db/migration/V38__1.13.sql @@ -78,3 +78,19 @@ ADD COLUMN `update_time` bigint(13) NULL COMMENT '更新时间' AFTER `update_by ALTER TABLE `sys_task_email` ADD COLUMN `view_ids` varchar(255) NULL COMMENT '视图ID集合' AFTER `task_id`; + +UPDATE `sys_menu` +SET + `permission` = 'user:add,user:del,user:edit' +WHERE + `menu_id` = 35; +UPDATE `sys_menu` +SET + `permission` = 'datasource:read' +WHERE + `menu_id` = 39; +UPDATE `sys_menu` +SET + `permission` = 'user:editPwd' +WHERE + `menu_id` = 51; diff --git a/frontend/src/permission.js b/frontend/src/permission.js index a2898d8ab1..031ce14570 100644 --- a/frontend/src/permission.js +++ b/frontend/src/permission.js @@ -189,10 +189,20 @@ const filterRouter = routers => { }) } const hasPermission = (router, user_permissions) => { - // 菜单要求权限 但是当前用户权限没有包含菜单权限 - if (router.permission && !user_permissions.includes(router.permission)) { + // 判断是否有符合权限 eg. user:read,user:delete + if (router.permission && router.permission.indexOf(',') > -1) { + const permissions = router.permission.split(',') + const permissionsFilter = permissions.filter(permission => { + return user_permissions.includes(permission) + }) + if (!permissionsFilter || permissionsFilter.length === 0) { + return false + } + } else if (router.permission && !user_permissions.includes(router.permission)) { + // 菜单要求权限 但是当前用户权限没有包含菜单权限 return false } + if (!filterLic(router)) { return false }