From 6b6acb4f91f7dcd3ba03652e7546ff06b0b58a28 Mon Sep 17 00:00:00 2001 From: value <z1292839451@163.com> Date: 星期二, 23 四月 2024 02:42:47 +0800 Subject: [PATCH] 功能调整 --- framework/src/main/java/com/yuanchu/mom/config/FiferConfig.java | 28 +++++++++++++++++++--------- 1 files changed, 19 insertions(+), 9 deletions(-) diff --git a/framework/src/main/java/com/yuanchu/mom/config/FiferConfig.java b/framework/src/main/java/com/yuanchu/mom/config/FiferConfig.java index bb90e50..2a58e9d 100644 --- a/framework/src/main/java/com/yuanchu/mom/config/FiferConfig.java +++ b/framework/src/main/java/com/yuanchu/mom/config/FiferConfig.java @@ -1,5 +1,6 @@ package com.yuanchu.mom.config; +import com.yuanchu.mom.annotation.ValueAuth; import com.yuanchu.mom.utils.JackSonUtil; import com.yuanchu.mom.utils.Jwt; import com.yuanchu.mom.utils.RedisUtil; @@ -8,6 +9,7 @@ import org.springframework.http.HttpMethod; import org.springframework.http.MediaType; import org.springframework.stereotype.Component; +import org.springframework.web.method.HandlerMethod; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; @@ -25,27 +27,34 @@ @Value("${server.port}") private String serverPort; - private static ThreadLocal<String> threadLocal = new ThreadLocal<>(); - @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { if (HttpMethod.OPTIONS.toString().equals(request.getMethod())) { response.setStatus(HttpServletResponse.SC_OK); return true; } + try { + HandlerMethod h = (HandlerMethod)handler; + ValueAuth annotation = h.getMethodAnnotation(ValueAuth.class); + if(annotation!=null){ + return true; + } + }catch (Exception e){ + return true; + } String[] strs = request.getRequestURL().toString().split(serverPort); AtomicBoolean judge = new AtomicBoolean(false); - list.forEach(a -> { - if (strs[1].equals(a)) { + for (String s : list) { + if (strs[1].equals(s)) { judge.set(true); - return; - } else if (a.indexOf("/**") > -1) { - if (strs[1].indexOf(a.replace("/**", "")) == 0) { + break; + } else if (s.indexOf("/**") > -1) { + if (strs[1].indexOf(s.replace("/**", "")) == 0) { judge.set(true); - return; + break; } } - }); + } if (judge.get()) return true; response.setContentType(MediaType.APPLICATION_JSON_VALUE); response.setCharacterEncoding("UTF-8"); @@ -91,6 +100,7 @@ list.add("/user/enter"); list.add("/user/refresh"); + list.add("/outPath/**"); this.list = list; } -- Gitblit v1.9.3