登录拦截

# 登录拦截 ```java public class UserLoginInterceptor implements HandlerInterceptor { public static final ThreadLocal<MemberVO> USER_STATE = ThreadLocal.withInitial(MemberVO::new); @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { HttpSession session = request.getSession(); MemberVO user = (MemberVO) session.getAttribute(UserConstant.SESSION_USER_NAME); if (user == null) { // 没有登录, 重定向到登录页 response.sendRedirect("http://auth.bitmall.com/login.html"); session.setAttribute("error_msg", "下订单之前必须登录"); return false; } // 登陆了 MemberVO memberVO = USER_STATE.get(); BeanUtils.copyProperties(user, memberVO); return true; } } ``` ```java @Configuration public class InterceptorConfig implements WebMvcConfigurer { @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(new UserLoginInterceptor()) .addPathPatterns( // 提交订单 // 确认页 // 支付 "/submitOrder", "/toTrade", "/toPay" ); } } ```