package com.moral.api.interceptor; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.alibaba.fastjson.JSON; import com.moral.constant.ResponseCodeEnum; import com.moral.constant.ResultMessage; import com.moral.util.WebUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; import org.springframework.web.method.HandlerMethod; import org.springframework.web.servlet.HandlerInterceptor; import com.moral.util.TokenUtils; import java.io.PrintWriter; @Slf4j public class WebInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { /*if (!(handler instanceof HandlerMethod)) { return true; }*/ String token = request.getHeader("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()); return false; } //TokenUtils.extendTokenTime(token); return true; } }