mirror of
https://github.com/didi/KnowStreaming.git
synced 2026-01-03 19:38:20 +08:00
接口过滤策略由接口黑名单转成接口白名单
This commit is contained in:
@@ -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;
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user