From bbe0a2fd03063316e50cf141986bda984599bbda Mon Sep 17 00:00:00 2001 From: 935090232@qq.com <ak473600000> Date: Tue, 22 Feb 2022 23:41:42 +0800 Subject: [PATCH] Merge branch 'developer' --- zq-erp/src/main/java/com/matrix/system/common/interceptor/ApiUserLoginInterceptor.java | 35 ++++++++++++++++++++++------------- 1 files changed, 22 insertions(+), 13 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 b64025c..cb284a7 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 @@ -2,14 +2,14 @@ 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 com.matrix.system.common.init.LocalCache; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; @@ -18,6 +18,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.util.Objects; /** * @author wzy @@ -26,18 +27,28 @@ @Component public class ApiUserLoginInterceptor implements HandlerInterceptor { - @Autowired - 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(1022L); +// request.getSession().setAttribute(MatrixConstance.LOGIN_KEY, sysUsers); +// return true; +// } + + String token = resolveToken(request,privateKey); AjaxResult ajaxResult = new AjaxResult(); ajaxResult.setStatus(AjaxResult.STATUS_LOGIN_INVALID); @@ -50,16 +61,14 @@ return false; } - String userStr = redisClient.getCachedValue(token); - redisClient.resetExpire(token); - if (StringUtils.isBlank(userStr)) { + SysUsers sysUsers = LocalCache.get(token); + if (Objects.isNull(sysUsers)) { ajaxResult.setInfo("login time out"); response.getWriter().write(new ObjectMapper().writeValueAsString(ajaxResult)); response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); return false; } - SysUsers sysUsers = JSONObject.parseObject(userStr, SysUsers.class); request.getSession().setAttribute(MatrixConstance.LOGIN_KEY, sysUsers); return true; } @@ -80,7 +89,7 @@ * @param request * @return */ - private String resolveToken(HttpServletRequest request) { + public static String resolveToken(HttpServletRequest request,String privateKey) { String headToken = request.getHeader(TOKEN_HEADER); String sb = request.getRequestURI(); -- Gitblit v1.9.1