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 2a0d1eac60b6336a7d542c37b94b09e19d3fa4c8..03904058dbed106677dd0964115055cd64b79d0c 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 e14ed81d79ab0841457b3df879aec3dab8c832bc..d07e35ca77d2b23c7ebaa2dddfa1e954846cf83d 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);