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