diff --git a/playedu-common/src/main/java/xyz/playedu/common/constant/BackendConstant.java b/playedu-common/src/main/java/xyz/playedu/common/constant/BackendConstant.java index 24de46d..c69ad25 100644 --- a/playedu-common/src/main/java/xyz/playedu/common/constant/BackendConstant.java +++ b/playedu-common/src/main/java/xyz/playedu/common/constant/BackendConstant.java @@ -30,6 +30,13 @@ public class BackendConstant { } }; + public static final List API_LIMIT_WHITELIST = + new ArrayList<>() { + { + add("/backend/v1/upload/minio/pre-sign-url"); + } + }; + public static final String RESOURCE_TYPE_VIDEO = "VIDEO"; public static final String RESOURCE_TYPE_IMAGE = "IMAGE"; public static final String RESOURCE_TYPE_PDF = "PDF"; diff --git a/playedu-system/src/main/java/xyz/playedu/system/interceptor/AdminInterceptor.java b/playedu-system/src/main/java/xyz/playedu/system/interceptor/AdminInterceptor.java index e9deec7..0fd2b12 100644 --- a/playedu-system/src/main/java/xyz/playedu/system/interceptor/AdminInterceptor.java +++ b/playedu-system/src/main/java/xyz/playedu/system/interceptor/AdminInterceptor.java @@ -26,6 +26,7 @@ import org.springframework.web.servlet.HandlerInterceptor; import xyz.playedu.common.bus.BackendBus; import xyz.playedu.common.config.PlayEduConfig; +import xyz.playedu.common.constant.BackendConstant; import xyz.playedu.common.context.BCtx; import xyz.playedu.common.domain.AdminUser; import xyz.playedu.common.service.AdminUserService; @@ -59,7 +60,11 @@ public class AdminInterceptor implements HandlerInterceptor { public boolean preHandle( HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { - if ("OPTIONS".equals(request.getMethod())) { + // 当前api的请求路径 + String path = request.getRequestURI(); + // 白名单过滤 + if (BackendConstant.API_LIMIT_WHITELIST.contains(path) + || "OPTIONS".equals(request.getMethod())) { return HandlerInterceptor.super.preHandle(request, response, handler); }