1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| @Component @AllArgsConstructor @Slf4j public class UserInterceptor implements HandlerInterceptor { private RedisUtils redisUtils;
@Override public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3) throws Exception {
}
@Override public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3) throws Exception {
}
@Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object arg2) throws Exception { log.info("request url : {} 进行用户拦截校验", request.getRequestURL().toString()); String jsonUser = redisUtils.get(String.format(RedisKey.USER_KEY, request.getHeader(SysConst.USER_TOKEN))); User user = new Gson().fromJson(jsonUser, User.class); if (ObjectUtil.isNotEmpty(user)) { log.info("user:{}放行", user.getName()); return true; } log.info("拦截"); response.setCharacterEncoding("UTF-8"); response.setContentType("application/json"); response.getWriter().print(new Gson().toJson(Result.failed(ErrorEnum.E_202.getErrorMsg()))); return false; } }
|