From 1d8c62e5c1d7f6ea81da2b891510df0925d2b0bc Mon Sep 17 00:00:00 2001 From: bjang03 Date: Thu, 16 May 2024 17:34:05 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E6=B5=8B=E8=AF=95=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=E6=8B=A6=E6=88=AA=E5=99=A8=E6=88=AA=E5=8F=96=E8=B7=AF=E5=BE=84?= =?UTF-8?q?=E4=B8=8E=E6=9C=AC=E5=9C=B0=E7=8E=AF=E5=A2=83=E6=9C=89=E5=B7=AE?= =?UTF-8?q?=E5=BC=82=EF=BC=8C=E5=A4=9A=E4=BA=86=E4=B8=80=E5=B1=82/api?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/config/ModuleAuthenInterceptor.java | 7 +++---- .../win/module/system/util/ModuleAuthenUtils.java | 14 +++++++------- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/framework/web/config/ModuleAuthenInterceptor.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/framework/web/config/ModuleAuthenInterceptor.java index ab43fb2..bf7bf30 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/framework/web/config/ModuleAuthenInterceptor.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/framework/web/config/ModuleAuthenInterceptor.java @@ -6,6 +6,7 @@ import com.win.framework.common.pojo.CommonResult; import com.win.module.system.util.ModuleAuthenUtils; import lombok.Cleanup; import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; @@ -15,11 +16,9 @@ import javax.servlet.http.HttpServletResponse; import java.io.PrintWriter; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; - +@Component @Slf4j public class ModuleAuthenInterceptor implements HandlerInterceptor { - @Resource - private ModuleAuthenUtils moduleAuthenUtils; private MD5 md5 = MD5.create(); public int findThirdOccurrence(String str, char c) { int count = 0; @@ -37,7 +36,7 @@ public class ModuleAuthenInterceptor implements HandlerInterceptor { String moduleName = request.getRequestURI().substring(0,findThirdOccurrence(request.getRequestURI(),'/')); String endTimeStr = ModuleAuthenUtils.module.get(md5.digestHex(moduleName)); if(endTimeStr != null){ - LocalDateTime endTime = LocalDateTime.parse(moduleAuthenUtils.decrypt(endTimeStr,ModuleAuthenUtils.secretKey), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); + LocalDateTime endTime = LocalDateTime.parse(ModuleAuthenUtils.decrypt(endTimeStr,ModuleAuthenUtils.secretKey), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); if (endTime == null || endTime.isBefore(LocalDateTime.now())){ response.setContentType("application/json;charset=utf-8"); CommonResult result = new CommonResult<>(); diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/util/ModuleAuthenUtils.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/util/ModuleAuthenUtils.java index 8a555f5..8199846 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/util/ModuleAuthenUtils.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/util/ModuleAuthenUtils.java @@ -20,14 +20,14 @@ public class ModuleAuthenUtils { public static String secretKey; public static Map module = new HashMap<>(); @Resource RedisTemplate redisTemplate; - public String decrypt(String encryptedData,String secretKey) throws Exception { + public static String decrypt(String encryptedData,String secretKey) throws Exception { SecretKeySpec secretKeySpec = new SecretKeySpec(Base64.decode(secretKey), ALGORITHM); Cipher cipher = Cipher.getInstance(ALGORITHM); cipher.init(Cipher.DECRYPT_MODE, secretKeySpec); byte[] decryptedBytes = cipher.doFinal(Base64.decode(encryptedData)); return new String(decryptedBytes, StandardCharsets.UTF_8); } - public String encrypt(String data,String secretKey) throws Exception { + public static String encrypt(String data,String secretKey) throws Exception { SecretKeySpec secretKeySpec = new SecretKeySpec(Base64.decode(secretKey), ALGORITHM); Cipher cipher = Cipher.getInstance(ALGORITHM); cipher.init(Cipher.ENCRYPT_MODE, secretKeySpec); @@ -36,15 +36,15 @@ public class ModuleAuthenUtils { } public void updateLicences(LicencesMessage ...message){ if(message != null && message.length>0){ - ModuleAuthenUtils.secretKey = message[0].getSecretKey(); - ModuleAuthenUtils.module = message[0].getData(); + secretKey = message[0].getSecretKey(); + module = message[0].getData(); return; } - JSONObject json = new JSONObject(redisTemplate.opsForValue().get(ModuleAuthenUtils.LICENCES_REDIS_KEY)); + JSONObject json = new JSONObject(redisTemplate.opsForValue().get(LICENCES_REDIS_KEY)); if(json.isEmpty()){ return; } - ModuleAuthenUtils.secretKey = json.getStr("secretKey"); - ModuleAuthenUtils.module = json.getJSONObject("data").toBean(Map.class); + secretKey = json.getStr("secretKey"); + module = json.getJSONObject("data").toBean(Map.class); } }