From a5d44f7cf3c07d5a40d2c13fa80b160abe0f03d0 Mon Sep 17 00:00:00 2001 From: NiuZiYuan Date: Tue, 29 Apr 2025 10:06:56 +0800 Subject: [PATCH] dev --- .../common/inteceptor/MvcInterceptor.java | 24 ++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/syjiaer/clinic/server/common/inteceptor/MvcInterceptor.java b/src/main/java/com/syjiaer/clinic/server/common/inteceptor/MvcInterceptor.java index 3361e27..25072d8 100644 --- a/src/main/java/com/syjiaer/clinic/server/common/inteceptor/MvcInterceptor.java +++ b/src/main/java/com/syjiaer/clinic/server/common/inteceptor/MvcInterceptor.java @@ -1,11 +1,11 @@ package com.syjiaer.clinic.server.common.inteceptor; import com.alibaba.fastjson2.JSON; +import com.alibaba.fastjson2.JSONObject; import com.fasterxml.jackson.databind.ObjectMapper; import com.syjiaer.clinic.server.common.annotations.NoAuthCheck; -import com.syjiaer.clinic.server.common.util.HeadersUtil; -import com.syjiaer.clinic.server.common.util.InfoUtil; -import com.syjiaer.clinic.server.common.util.ParmsUtil; +import com.syjiaer.clinic.server.common.config.Config; +import com.syjiaer.clinic.server.common.util.*; import com.syjiaer.clinic.server.common.vo.Result; import io.jsonwebtoken.Claims; import io.jsonwebtoken.Jws; @@ -22,6 +22,7 @@ import org.springframework.web.servlet.HandlerInterceptor; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; +import java.time.LocalDateTime; import java.util.Enumeration; import java.util.HashMap; import java.util.Map; @@ -37,6 +38,8 @@ public class MvcInterceptor implements HandlerInterceptor { private HeadersUtil headersUtil; @Autowired private InfoUtil infoUtil; + @Autowired + private Config config; @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { setParms(request); @@ -74,8 +77,23 @@ public class MvcInterceptor implements HandlerInterceptor { setErrorResult(response,"登录令牌已失效,请重新登陆",301); return false; } + String cert=config.get("common","cert"); + String data= RsaUtil.decryp(cert); + JSONObject jsonObject = JSONObject.parseObject(data); + int role = jsonObject.getInteger("role"); + LocalDateTime createDate = DateUtil.getDateTime(jsonObject.getString("createDate")); + LocalDateTime expiryDate = DateUtil.getDateTime(jsonObject.getString("expiryDate")); + String fixmedinsCode = jsonObject.getString("fixmedinsCode"); + if(createDate.isAfter(LocalDateTime.now()) || expiryDate.isBefore(LocalDateTime.now())){ + setErrorResult(response,"您的平台授权信息已失效,请联系客服人员",301); + return false; + } + Claims claims = claimsJws.getPayload(); Map map=new HashMap<>(); + map.put("auth_role", role); + map.put("auth_fixmedinsCode", fixmedinsCode); + map.put("auth_expiryDate", expiryDate); map.put("manager_id", Integer.parseInt(claims.getSubject())); map.put("manager_userName", claims.get("username", String.class)); map.put("manager_name", claims.get("name", String.class));