From 07bd00d60c486d582c8d30a8aa69ae610c4960a4 Mon Sep 17 00:00:00 2001 From: erge <64293299+Wyb7290@users.noreply.github.com> Date: Wed, 18 Oct 2023 09:40:07 +0800 Subject: [PATCH] =?UTF-8?q?[Optimize]security=E4=B8=8B=E7=9A=84users?= =?UTF-8?q?=E3=80=81acls=E6=8E=A5=E5=85=A5=E8=BF=9B=E6=9D=83=E9=99=90?= =?UTF-8?q?=E7=AE=A1=E7=90=86(#1089)=20(#1154)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 请不要在没有先创建Issue的情况下创建Pull Request。 ## 变更的目的是什么 XXXXX ## 简短的更新日志 XX ## 验证这一变化 XXXX 请遵循此清单,以帮助我们快速轻松地整合您的贡献: * [ ] 一个 PR(Pull Request的简写)只解决一个问题,禁止一个 PR 解决多个问题; * [ ] 确保 PR 有对应的 Issue(通常在您开始处理之前创建),除非是书写错误之类的琐碎更改不需要 Issue ; * [ ] 格式化 PR 及 Commit-Log 的标题及内容,例如 #861 。PS:Commit-Log 需要在 Git Commit 代码时进行填写,在 GitHub 上修改不了; * [ ] 编写足够详细的 PR 描述,以了解 PR 的作用、方式和原因; * [ ] 编写必要的单元测试来验证您的逻辑更正。如果提交了新功能或重大更改,请记住在 test 模块中添加 integration-test; * [ ] 确保编译通过,集成测试通过; --- .../src/pages/CommonConfig.tsx | 6 ++ .../src/pages/SecurityACLs/index.tsx | 33 ++++++---- .../src/pages/SecurityUsers/index.tsx | 61 +++++++++++-------- 3 files changed, 63 insertions(+), 37 deletions(-) diff --git a/km-console/packages/layout-clusters-fe/src/pages/CommonConfig.tsx b/km-console/packages/layout-clusters-fe/src/pages/CommonConfig.tsx index 712e98fc..d168b804 100644 --- a/km-console/packages/layout-clusters-fe/src/pages/CommonConfig.tsx +++ b/km-console/packages/layout-clusters-fe/src/pages/CommonConfig.tsx @@ -45,6 +45,12 @@ export enum ClustersPermissionMap { CONNECTOR_DELETE = 'Connector-删除', CONNECTOR_RESTART = 'Connector-重启', CONNECTOR_STOP_RESUME = 'Connector-暂停&恢复', + // Security + SECURITY_ACL_ADD = 'Security-ACL新增', + SECURITY_ACL_DELETE = 'Security-ACL删除', + SECURITY_USER_ADD = 'Security-User新增', + SECURITY_USER_DELETE = 'Security-User删除', + SECURITY_USER_EDIT_PASSWORD = 'Security-User修改密码', } export interface PermissionNode { diff --git a/km-console/packages/layout-clusters-fe/src/pages/SecurityACLs/index.tsx b/km-console/packages/layout-clusters-fe/src/pages/SecurityACLs/index.tsx index 9919afdd..46befe50 100644 --- a/km-console/packages/layout-clusters-fe/src/pages/SecurityACLs/index.tsx +++ b/km-console/packages/layout-clusters-fe/src/pages/SecurityACLs/index.tsx @@ -14,6 +14,7 @@ import AddACLDrawer, { RESOURCE_TO_OPERATIONS_MAP, RESOURCE_MAP_KEYS, } from './EditDrawer'; +import { ClustersPermissionMap } from '../CommonConfig'; import './index.less'; const { confirm } = Modal; @@ -105,7 +106,7 @@ const SecurityACLs = (): JSX.Element => { }; const columns = () => { - const baseColumns = [ + const baseColumns: any = [ { title: 'Principal', dataIndex: 'kafkaUser', @@ -143,7 +144,9 @@ const SecurityACLs = (): JSX.Element => { title: 'Host', dataIndex: 'aclClientHost', }, - { + ]; + if (global.hasPermission && global.hasPermission(ClustersPermissionMap.SECURITY_ACL_DELETE)) { + baseColumns.push({ title: '操作', dataIndex: '', width: 120, @@ -156,8 +159,8 @@ const SecurityACLs = (): JSX.Element => { ); }, - }, - ]; + }); + } return baseColumns; }; @@ -238,15 +241,19 @@ const SecurityACLs = (): JSX.Element => { -
- -
+ {global.hasPermission && global.hasPermission(ClustersPermissionMap.SECURITY_ACL_ADD) ? ( +
+ +
+ ) : ( + <> + )} { const maxPos = chars.length; let str = ''; @@ -323,7 +323,7 @@ const SecurityUsers = (): JSX.Element => { }; const columns = () => { - const baseColumns = [ + const baseColumns: any = [ { title: 'KafkaUser', dataIndex: 'name', @@ -348,30 +348,39 @@ const SecurityUsers = (): JSX.Element => { return ; }, }, - { + ]; + if (global.hasPermission) { + baseColumns.push({ title: '操作', dataIndex: '', width: 240, render(record: UsersProps) { return ( <> - - + {global.hasPermission(ClustersPermissionMap.SECURITY_USER_EDIT_PASSWORD) ? ( + + ) : ( + <> + )} + {global.hasPermission(ClustersPermissionMap.SECURITY_USER_DELETE) ? ( + + ) : ( + <> + )} ); }, - }, - ]; - + }); + } return baseColumns; }; @@ -454,13 +463,17 @@ const SecurityUsers = (): JSX.Element => { setSearchKeywordsInput(e.target.value); }} /> - + {global.hasPermission && global.hasPermission(ClustersPermissionMap.SECURITY_USER_ADD) ? ( + + ) : ( + <> + )}