接口过滤策略由接口黑名单转成接口白名单

This commit is contained in:
zengqiao
2021-03-29 21:21:23 +08:00
parent ed13e0d2c2
commit 648af61116
3 changed files with 12 additions and 12 deletions

View File

@@ -7,8 +7,8 @@ package com.xiaojukeji.kafka.manager.common.constant;
*/ */
public class ApiPrefix { public class ApiPrefix {
public static final String API_PREFIX = "/api/"; public static final String API_PREFIX = "/api/";
public static final String API_V1_PREFIX = API_PREFIX + "v1/"; private static final String API_V1_PREFIX = API_PREFIX + "v1/";
public static final String API_V2_PREFIX = API_PREFIX + "v2/"; private static final String API_V2_PREFIX = API_PREFIX + "v2/";
// console // console
public static final String API_V1_SSO_PREFIX = API_V1_PREFIX + "sso/"; public static final String API_V1_SSO_PREFIX = API_V1_PREFIX + "sso/";
@@ -18,7 +18,6 @@ public class ApiPrefix {
// open // open
public static final String API_V1_THIRD_PART_PREFIX = API_V1_PREFIX + "third-part/"; public static final String API_V1_THIRD_PART_PREFIX = API_V1_PREFIX + "third-part/";
public static final String API_V2_THIRD_PART_PREFIX = API_V2_PREFIX + "third-part/";
// gateway // gateway
public static final String GATEWAY_API_V1_PREFIX = "/gateway" + API_V1_PREFIX; public static final String GATEWAY_API_V1_PREFIX = "/gateway" + API_V1_PREFIX;

View File

@@ -64,16 +64,16 @@ public class LoginServiceImpl implements LoginService {
@Override @Override
public boolean checkLogin(HttpServletRequest request, HttpServletResponse response) { public boolean checkLogin(HttpServletRequest request, HttpServletResponse response) {
String uri = request.getRequestURI(); String uri = request.getRequestURI().replace("//", "/");
if (uri.contains("..")) { if (uri.contains("/../") || uri.contains("/./")) {
LOGGER.error("class=LoginServiceImpl||method=checkLogin||msg=uri illegal||uri={}", uri); LOGGER.error("class=LoginServiceImpl||method=checkLogin||msg=uri illegal, contains /../ or /./||uri={}", uri);
return false; return false;
} }
if (!(uri.contains(ApiPrefix.API_V1_NORMAL_PREFIX) if (uri.startsWith(ApiPrefix.API_V1_SSO_PREFIX)
|| uri.contains(ApiPrefix.API_V1_RD_PREFIX) || uri.startsWith(ApiPrefix.API_V1_THIRD_PART_PREFIX)
|| uri.contains(ApiPrefix.API_V1_OP_PREFIX))) { || uri.startsWith(ApiPrefix.GATEWAY_API_V1_PREFIX)) {
// 白名单接口, 直接忽略登录 // 白名单接口直接true
return true; return true;
} }

View File

@@ -1,5 +1,6 @@
package com.xiaojukeji.kafka.manager.web.api; package com.xiaojukeji.kafka.manager.web.api;
import com.xiaojukeji.kafka.manager.common.constant.ApiPrefix;
import com.xiaojukeji.kafka.manager.common.entity.Result; import com.xiaojukeji.kafka.manager.common.entity.Result;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
@@ -14,9 +15,9 @@ import springfox.documentation.annotations.ApiIgnore;
* @date 20/6/18 * @date 20/6/18
*/ */
@ApiIgnore @ApiIgnore
@Api(description = "web应用探活接口(REST)") @Api(tags = "web应用探活接口(REST)")
@RestController @RestController
@RequestMapping("api/") @RequestMapping(ApiPrefix.API_V1_THIRD_PART_PREFIX)
public class HealthController { public class HealthController {
@ApiIgnore @ApiIgnore