| | |
| | | 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; |
| | | |
| | | @Component |
| | | 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)) { |
| | | /*if (!(handler instanceof HandlerMethod)) { |
| | | return true; |
| | | } |
| | | }*/ |
| | | String token = request.getHeader("token"); |
| | | if (token == null) { |
| | | 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; |
| | | } |
| | | try { |
| | | //校验token |
| | | TokenUtils.checkToken(token); |
| | | //延长token |
| | | TokenUtils.extendTokenTime(token); |
| | | } catch (Exception e) { |
| | | return false; |
| | | } |
| | | //TokenUtils.extendTokenTime(token); |
| | | return true; |
| | | } |
| | | } |