From 93fe0b66e85e95e3a7e77a28504d6d289b6906b9 Mon Sep 17 00:00:00 2001
From: kaiyu <404897439@qq.com>
Date: Fri, 08 Oct 2021 13:11:22 +0800
Subject: [PATCH] screen-manage screen-api      更改拦截器逻辑,记录token无效的请求IP以及URL。      manage记录到数据库日志中      api记录在日志文件中

---
 screen-manage/src/main/java/com/moral/api/interceptor/ManageInterceptor.java |   32 ++++++++++++++++++++++++++++----
 1 files changed, 28 insertions(+), 4 deletions(-)

diff --git a/screen-manage/src/main/java/com/moral/api/interceptor/ManageInterceptor.java b/screen-manage/src/main/java/com/moral/api/interceptor/ManageInterceptor.java
index b3d4382..bfe6beb 100644
--- a/screen-manage/src/main/java/com/moral/api/interceptor/ManageInterceptor.java
+++ b/screen-manage/src/main/java/com/moral/api/interceptor/ManageInterceptor.java
@@ -1,28 +1,52 @@
 package com.moral.api.interceptor;
 
+import com.alibaba.fastjson.JSON;
+import com.moral.api.mapper.ManageLogMapper;
+import com.moral.api.util.LogUtils;
+import com.moral.constant.Constants;
+import com.moral.constant.ResponseCodeEnum;
+import com.moral.constant.ResultMessage;
 import com.moral.util.TokenUtils;
+import com.moral.util.WebUtils;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
 import org.springframework.web.servlet.HandlerInterceptor;
 import org.springframework.web.servlet.ModelAndView;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-
+import java.io.PrintWriter;
+@Slf4j
 public class ManageInterceptor implements HandlerInterceptor {
+
     @Override
     public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
         String token = request.getHeader("token");
-        TokenUtils.checkToken(token);
+        boolean result = TokenUtils.checkToken(token);
+        if (!result) {
+            ResultMessage resultMessage = ResultMessage.fail(ResponseCodeEnum.TOKEN_INVALID.getCode(),
+                    ResponseCodeEnum.TOKEN_INVALID.getMsg());
+            response.setCharacterEncoding("UTF-8");
+            response.setContentType("text/html; charset=utf-8");
+            PrintWriter writer = response.getWriter();
+            writer.print(JSON.toJSONString(resultMessage));
+            log.info("token������������");
+            log.info("ip:"+ WebUtils.getIpAddr(request));
+            log.info("������URL���"+request.getRequestURL());
+            //������������������������
+            LogUtils.saveFailedRequestForManage(request,"token������������;url:"+request.getRequestURL()+";������token:"+token);
+            return false;
+        }
         //TokenUtils.extendTokenTime(token);
         return true;
     }
 
     @Override
     public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
-
     }
 
     @Override
     public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
-
     }
 }

--
Gitblit v1.8.0