From 7f5bbe8b5f67d97bf02e82180b2e772b90acfdad Mon Sep 17 00:00:00 2001 From: zengqiao Date: Sun, 8 Nov 2020 16:00:15 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kafka/manager/common/utils/HttpUtils.java | 2 +- .../thirdpart/ThirdPartConsumeController.java | 28 +++++++++++-------- 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/kafka-manager-common/src/main/java/com/xiaojukeji/kafka/manager/common/utils/HttpUtils.java b/kafka-manager-common/src/main/java/com/xiaojukeji/kafka/manager/common/utils/HttpUtils.java index 2a0d1eac..03904058 100644 --- a/kafka-manager-common/src/main/java/com/xiaojukeji/kafka/manager/common/utils/HttpUtils.java +++ b/kafka-manager-common/src/main/java/com/xiaojukeji/kafka/manager/common/utils/HttpUtils.java @@ -30,7 +30,7 @@ public class HttpUtils { private static int CONNECT_TIME_OUT = 15000; // 读取超时时间, 单位: ms - private static int READ_TIME_OUT = 2000; + private static int READ_TIME_OUT = 3000; private static final String METHOD_GET = "GET"; private static final String METHOD_POST = "POST"; diff --git a/kafka-manager-web/src/main/java/com/xiaojukeji/kafka/manager/web/api/versionone/thirdpart/ThirdPartConsumeController.java b/kafka-manager-web/src/main/java/com/xiaojukeji/kafka/manager/web/api/versionone/thirdpart/ThirdPartConsumeController.java index e14ed81d..d07e35ca 100644 --- a/kafka-manager-web/src/main/java/com/xiaojukeji/kafka/manager/web/api/versionone/thirdpart/ThirdPartConsumeController.java +++ b/kafka-manager-web/src/main/java/com/xiaojukeji/kafka/manager/web/api/versionone/thirdpart/ThirdPartConsumeController.java @@ -4,6 +4,7 @@ import com.xiaojukeji.kafka.manager.common.bizenum.ConsumeHealthEnum; import com.xiaojukeji.kafka.manager.common.bizenum.OffsetLocationEnum; import com.xiaojukeji.kafka.manager.common.constant.ApiPrefix; import com.xiaojukeji.kafka.manager.common.constant.Constant; +import com.xiaojukeji.kafka.manager.common.constant.SystemCodeConstant; import com.xiaojukeji.kafka.manager.common.entity.Result; import com.xiaojukeji.kafka.manager.common.entity.ResultStatus; import com.xiaojukeji.kafka.manager.common.entity.ao.consumer.ConsumeDetailDTO; @@ -29,6 +30,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; /** @@ -56,6 +58,8 @@ public class ThirdPartConsumeController { @Autowired private ThirdPartService thirdPartService; + private static final List WHITE_SYS_CODES_LIST = Arrays.asList(SystemCodeConstant.KAFKA_MANAGER); + @ApiOperation(value = "消费组健康", notes = "消费组是否健康") @RequestMapping(value = "clusters/consumer-health", method = RequestMethod.POST) @ResponseBody @@ -97,18 +101,20 @@ public class ThirdPartConsumeController { return Result.buildFrom(ResultStatus.CLUSTER_NOT_EXIST); } - // 检查AppID权限 - if (!appService.verifyAppIdByPassword(dto.getAppId(), dto.getPassword())) { - return Result.buildFrom(ResultStatus.PARAM_ILLEGAL); - } - // 检查权限 - AuthorityDO authority = + if (!WHITE_SYS_CODES_LIST.contains(dto.getSystemCode())) { + // 检查AppID权限 + if (!appService.verifyAppIdByPassword(dto.getAppId(), dto.getPassword())) { + return Result.buildFrom(ResultStatus.PARAM_ILLEGAL); + } + // 检查权限 + AuthorityDO authority = authorityService.getAuthority(dto.getClusterId(), dto.getTopicName(), dto.getAppId()); - if (ValidateUtils.isNull(authority) || (authority.getAccess() & 1) <= 0) { - authority = authorityService.getAuthority(dto.getClusterId(), "*", dto.getAppId()); - } - if (authority == null || (authority.getAccess() & 1) <= 0) { - return Result.buildFrom(ResultStatus.USER_WITHOUT_AUTHORITY); + if (ValidateUtils.isNull(authority) || (authority.getAccess() & 1) <= 0) { + authority = authorityService.getAuthority(dto.getClusterId(), "*", dto.getAppId()); + } + if (authority == null || (authority.getAccess() & 1) <= 0) { + return Result.buildFrom(ResultStatus.USER_WITHOUT_AUTHORITY); + } } List resultList = thirdPartService.resetOffsets(clusterDO, dto); -- GitLab