From bb8db4f6f3fde7e3a4766591ac55fbe67a6722e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=AE=B8=E6=99=93=E4=B8=9C?= <763795151@qq.com> Date: Sat, 4 Sep 2021 18:21:47 +0800 Subject: [PATCH] add delete acl entry from acl detail --- .../console/controller/AclAuthController.java | 11 +++++++ .../console/service/impl/AclServiceImpl.java | 2 +- .../scala/kafka/console/KafkaAclConsole.scala | 4 +++ ui/src/utils/api.js | 4 +++ ui/src/views/acl/Acl.vue | 3 +- ui/src/views/acl/AclDetail.vue | 30 +++++++++++++++++-- 6 files changed, 49 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/xuxd/kafka/console/controller/AclAuthController.java b/src/main/java/com/xuxd/kafka/console/controller/AclAuthController.java index c2322b3..f6ba89b 100644 --- a/src/main/java/com/xuxd/kafka/console/controller/AclAuthController.java +++ b/src/main/java/com/xuxd/kafka/console/controller/AclAuthController.java @@ -72,6 +72,17 @@ public class AclAuthController { return aclService.addConsumerAcl(param.toTopicEntry(), param.toGroupEntry()); } + /** + * delete acl . + * + * @param entry entry + * @return + */ + @DeleteMapping + public Object deleteAclByUser(@RequestBody AclEntry entry) { + return aclService.deleteAcl(entry); + } + /** * delete user acl . * diff --git a/src/main/java/com/xuxd/kafka/console/service/impl/AclServiceImpl.java b/src/main/java/com/xuxd/kafka/console/service/impl/AclServiceImpl.java index 23ec897..5c8b849 100644 --- a/src/main/java/com/xuxd/kafka/console/service/impl/AclServiceImpl.java +++ b/src/main/java/com/xuxd/kafka/console/service/impl/AclServiceImpl.java @@ -123,7 +123,7 @@ public class AclServiceImpl implements AclService, SmartInitializingSingleton { } @Override public ResponseData deleteAcl(AclEntry entry) { - return aclConsole.deleteAcl(entry, false, false, false) ? ResponseData.create().success() : ResponseData.create().failed(); + return aclConsole.deleteAcl(entry) ? ResponseData.create().success() : ResponseData.create().failed(); } @Override public ResponseData addAcl(AclEntry entry) { diff --git a/src/main/scala/kafka/console/KafkaAclConsole.scala b/src/main/scala/kafka/console/KafkaAclConsole.scala index 1aef66d..cd17676 100644 --- a/src/main/scala/kafka/console/KafkaAclConsole.scala +++ b/src/main/scala/kafka/console/KafkaAclConsole.scala @@ -121,6 +121,10 @@ class KafkaAclConsole(config: KafkaConfig) extends KafkaConsole(config: KafkaCon }).asInstanceOf[Boolean] } + def deleteAcl(entry: AclEntry): Boolean = { + deleteAcl(Collections.singleton(entry.toAclBindingFilter)) + } + def deleteUserAcl(entry: AclEntry): Boolean = { val filter: AclBindingFilter = entry.toAclBindingFilter val delFilter = new AclBindingFilter(new ResourcePatternFilter(ResourceType.ANY, null, filter.patternFilter().patternType()), diff --git a/ui/src/utils/api.js b/ui/src/utils/api.js index 98483f6..efe9f28 100644 --- a/ui/src/utils/api.js +++ b/ui/src/utils/api.js @@ -39,4 +39,8 @@ export const KafkaAclApi = { url: "/acl/detail", method: "post", }, + deleteAcl: { + url: "/acl", + method: "delete", + }, }; diff --git a/ui/src/views/acl/Acl.vue b/ui/src/views/acl/Acl.vue index f2e5d45..6327921 100644 --- a/ui/src/views/acl/Acl.vue +++ b/ui/src/views/acl/Acl.vue @@ -328,7 +328,7 @@ function getAclList(data, requestParameters) { } const columns = [ - { title: "用户名", dataIndex: "username", key: "username" }, + { title: "用户名", dataIndex: "username", key: "username", width: 200 }, { title: "topic列表", dataIndex: "topicList", @@ -347,6 +347,7 @@ const columns = [ title: "操作", key: "operation", scopedSlots: { customRender: "operation" }, + width: 350, }, ]; diff --git a/ui/src/views/acl/AclDetail.vue b/ui/src/views/acl/AclDetail.vue index 2e30a66..358dbef 100644 --- a/ui/src/views/acl/AclDetail.vue +++ b/ui/src/views/acl/AclDetail.vue @@ -23,7 +23,16 @@ } " >> - {{ text }} + + + 删除 + + @@ -98,8 +107,23 @@ export default { this.$message.error(res.msg); } else { this.data = res.data.list; - // this.data.slice(0, data.length); - // this.data.push(...res.data.list); + } + }); + }, + onDelete(record) { + const param = Object.assign({}, record); + delete param["null"]; + const api = KafkaAclApi.deleteAcl; + request({ + url: api.url, + method: api.method, + data: param, + }).then((res) => { + if (res.code != 0) { + this.$message.error(res.msg); + } else { + this.$message.success(res.msg); + this.getAclDetail(); } }); },