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