From 7e63ad937db6edce752049d00f3d81ecb8d309de Mon Sep 17 00:00:00 2001 From: soul2 <1052986332@qq.com> Date: Fri, 12 Apr 2024 14:39:27 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=9D=E8=AF=95=E4=BF=AE=E5=A4=8D=20?= =?UTF-8?q?=E5=A4=B1=E8=B4=A5=E6=AC=A1=E6=95=B01?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jyjc/admin/filter/ShaoduoRequestWrapper.java | 6 ++++-- .../jyjc/admin/interceptor/FinallyInterceptor.java | 13 ++----------- 2 files changed, 6 insertions(+), 13 deletions(-) diff --git a/src/main/java/cn/soul2/jyjc/admin/filter/ShaoduoRequestWrapper.java b/src/main/java/cn/soul2/jyjc/admin/filter/ShaoduoRequestWrapper.java index 1de493e..935de92 100644 --- a/src/main/java/cn/soul2/jyjc/admin/filter/ShaoduoRequestWrapper.java +++ b/src/main/java/cn/soul2/jyjc/admin/filter/ShaoduoRequestWrapper.java @@ -51,7 +51,7 @@ public class ShaoduoRequestWrapper extends HttpServletRequestWrapper { * * @return String */ - public String getBodyString() { + public String getBodyString() throws IOException { InputStream inputStream = new ByteArrayInputStream(body); return inputStream2String(inputStream); @@ -73,11 +73,12 @@ public class ShaoduoRequestWrapper extends HttpServletRequestWrapper { * @param inputStream inputStream * @return String */ - private String inputStream2String(InputStream inputStream) { + private String inputStream2String(InputStream inputStream) throws IOException { StringBuilder sb = new StringBuilder(); BufferedReader reader = null; try { + System.out.println("发生流读取"); reader = new BufferedReader(new InputStreamReader(inputStream, Charset.defaultCharset())); String line; while ((line = reader.readLine()) != null) { @@ -93,6 +94,7 @@ public class ShaoduoRequestWrapper extends HttpServletRequestWrapper { } catch (IOException e) { log.error("", e); } + inputStream.close(); } } diff --git a/src/main/java/cn/soul2/jyjc/admin/interceptor/FinallyInterceptor.java b/src/main/java/cn/soul2/jyjc/admin/interceptor/FinallyInterceptor.java index 5d0c3f4..1f64eae 100644 --- a/src/main/java/cn/soul2/jyjc/admin/interceptor/FinallyInterceptor.java +++ b/src/main/java/cn/soul2/jyjc/admin/interceptor/FinallyInterceptor.java @@ -8,9 +8,6 @@ import cn.soul2.jyjc.admin.utils.EncryptUtils; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.ApplicationContext; -import org.springframework.context.annotation.Lazy; import org.springframework.http.MediaType; import org.springframework.web.method.HandlerMethod; import org.springframework.web.servlet.HandlerInterceptor; @@ -29,16 +26,13 @@ import java.lang.reflect.Method; @Slf4j public class FinallyInterceptor implements HandlerInterceptor { - @Autowired - @Lazy - private ApplicationContext context; @Resource - @Lazy private UserLoginStatusBean userLoginStatusBean; @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { boolean pass = false; + System.out.println("拦截器触发"); // 允许OPTIONS请求通过 if ("OPTIONS".equals(request.getMethod()) && request.getHeader("Origin") != null) { return true; @@ -104,16 +98,13 @@ public class FinallyInterceptor implements HandlerInterceptor { pass = true; } else { // 验证token - if (userLoginStatusBean == null) { - userLoginStatusBean = context.getBean(UserLoginStatusBean.class); - } // 检查 token 是否存在并且有效 if (token == null) { // 没有Token,拒绝请求 response.setStatus(40401); pass = false; } else if (userLoginStatusBean != null && !userLoginStatusBean.containsToken(token)) { - // Token 无效,拒绝请求,可以返回特定的响应状态码,例如 401 Unauthorized + // Token 无效,拒绝请求 response.setStatus(40401); pass = false; }