This commit is contained in:
牛子源 2025-04-29 10:06:56 +08:00
parent b2cd675799
commit a5d44f7cf3
1 changed files with 21 additions and 3 deletions

View File

@ -1,11 +1,11 @@
package com.syjiaer.clinic.server.common.inteceptor; package com.syjiaer.clinic.server.common.inteceptor;
import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import com.syjiaer.clinic.server.common.annotations.NoAuthCheck; import com.syjiaer.clinic.server.common.annotations.NoAuthCheck;
import com.syjiaer.clinic.server.common.util.HeadersUtil; import com.syjiaer.clinic.server.common.config.Config;
import com.syjiaer.clinic.server.common.util.InfoUtil; import com.syjiaer.clinic.server.common.util.*;
import com.syjiaer.clinic.server.common.util.ParmsUtil;
import com.syjiaer.clinic.server.common.vo.Result; import com.syjiaer.clinic.server.common.vo.Result;
import io.jsonwebtoken.Claims; import io.jsonwebtoken.Claims;
import io.jsonwebtoken.Jws; import io.jsonwebtoken.Jws;
@ -22,6 +22,7 @@ import org.springframework.web.servlet.HandlerInterceptor;
import java.io.BufferedReader; import java.io.BufferedReader;
import java.io.IOException; import java.io.IOException;
import java.io.InputStreamReader; import java.io.InputStreamReader;
import java.time.LocalDateTime;
import java.util.Enumeration; import java.util.Enumeration;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
@ -37,6 +38,8 @@ public class MvcInterceptor implements HandlerInterceptor {
private HeadersUtil headersUtil; private HeadersUtil headersUtil;
@Autowired @Autowired
private InfoUtil infoUtil; private InfoUtil infoUtil;
@Autowired
private Config config;
@Override @Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
setParms(request); setParms(request);
@ -74,8 +77,23 @@ public class MvcInterceptor implements HandlerInterceptor {
setErrorResult(response,"登录令牌已失效,请重新登陆",301); setErrorResult(response,"登录令牌已失效,请重新登陆",301);
return false; 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(); Claims claims = claimsJws.getPayload();
Map<String,Object> map=new HashMap<>(); Map<String,Object> 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_id", Integer.parseInt(claims.getSubject()));
map.put("manager_userName", claims.get("username", String.class)); map.put("manager_userName", claims.get("username", String.class));
map.put("manager_name", claims.get("name", String.class)); map.put("manager_name", claims.get("name", String.class));