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;
|
}
|
}
|