From a13a93a493e7e94e28b2225c26e7e13b52d3288c Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Mon, 12 Apr 2021 19:48:45 +0800 Subject: [PATCH] 20210412 tqq环境 --- zq-erp/src/main/java/com/matrix/system/common/interceptor/ApiUserLoginInterceptor.java | 35 ++++++++++++++++++++++++----------- 1 files changed, 24 insertions(+), 11 deletions(-) diff --git a/zq-erp/src/main/java/com/matrix/system/common/interceptor/ApiUserLoginInterceptor.java b/zq-erp/src/main/java/com/matrix/system/common/interceptor/ApiUserLoginInterceptor.java index f783a97..d3b8671 100644 --- a/zq-erp/src/main/java/com/matrix/system/common/interceptor/ApiUserLoginInterceptor.java +++ b/zq-erp/src/main/java/com/matrix/system/common/interceptor/ApiUserLoginInterceptor.java @@ -3,13 +3,13 @@ import com.alibaba.fastjson.JSONObject; import com.fasterxml.jackson.databind.ObjectMapper; import com.matrix.component.redis.RedisClient; -import com.matrix.component.redis.RedisUserLoginUtils; import com.matrix.core.constance.MatrixConstance; import com.matrix.core.pojo.AjaxResult; import com.matrix.core.tools.LogUtil; import com.matrix.core.tools.RSAUtils; import com.matrix.core.tools.StringUtils; import com.matrix.system.common.bean.SysUsers; +import com.matrix.system.common.dao.SysUsersDao; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; @@ -30,14 +30,26 @@ private RedisClient redisClient; @Value("${login_private_key}") - private String privateKey; + private String privateKey; - private final String TOKEN_HEADER = "Authorization"; - private final String TOKEN_START_WITH = "Bearer "; + @Value("${evn}") + private String evn; + + @Autowired + private SysUsersDao sysUsersDao; + + private static final String TOKEN_HEADER = "Authorization"; + private static final String TOKEN_START_WITH = "Bearer "; @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { - String token = resolveToken(request); + if ("dev".equals(evn)) { + SysUsers sysUsers = sysUsersDao.selectById(2L); + request.getSession().setAttribute(MatrixConstance.LOGIN_KEY, sysUsers); + return true; + } + + String token = resolveToken(request,privateKey); AjaxResult ajaxResult = new AjaxResult(); ajaxResult.setStatus(AjaxResult.STATUS_LOGIN_INVALID); @@ -51,7 +63,7 @@ } String userStr = redisClient.getCachedValue(token); - redisClient.resetExpire(token); +// redisClient.resetExpire(token); if (StringUtils.isBlank(userStr)) { ajaxResult.setInfo("login time out"); response.getWriter().write(new ObjectMapper().writeValueAsString(ajaxResult)); @@ -80,23 +92,24 @@ * @param request * @return */ - private String resolveToken(HttpServletRequest request) { + public static String resolveToken(HttpServletRequest request,String privateKey) { String headToken = request.getHeader(TOKEN_HEADER); - StringBuffer sb = request.getRequestURL(); + String sb = request.getRequestURI(); if (StringUtils.isNotBlank(headToken) && headToken.startsWith(TOKEN_START_WITH)) { // 去掉令牌前缀 String rsaToken = headToken.replace(TOKEN_START_WITH, ""); try { - String decryptTokten = new String(RSAUtils.decryptByPrivateKey(rsaToken, privateKey)); + String decryptToken = new String(RSAUtils.decryptByPrivateKey(rsaToken, privateKey)); - String[] s = decryptTokten.split("_"); + String[] s = decryptToken.split("_"); if (s == null || s.length != 3) { return ""; } - if (!sb.toString().equals(s[2])) { + LogUtil.info("请求路径:{} -- {}", sb, s[2]); + if (!sb.equals(s[2])) { return ""; } -- Gitblit v1.9.1