@Component
public class LoginInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
HttpSession session = request.getSession();
logger.info("sessionId is " + session.getId());
//获取用户信息
Object userInfo = session.getAttribute("userInfo");
if(null == userInfo){
logger.info("用户没有登录");
response.setContentType("text/html; charset=UTF-8");
response.getWriter().println("<html><body><script type = 'text/javascript'>" +
"alert('请先登录系统!');window.location='/back/login.html';</script></body></html>");
response.getWriter().close();
return false;
}else {
logger.info("已登录成功,登录信息为:" + userInfo);
}
return true;
}
第一步,创建拦截器
第二步:注册拦截器
@Configuration
public class LoginConfig implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new LoginInterceptor())
.addPathPatterns("/**")
.excludePathPatterns("/login");