//拦截器类
@Component
public class MyInterceptor implements HandlerInterceptor {
@Autowired
//根据所用注入具体session
private HttpSession session;
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
// 从session中获取用户信息
User user = (User) session.getAttribute("user");
Admin admin = (Admin) session.getAttribute("admin");
if(user == null && admin == null){
//session空后返回的页面路径
response.sendRedirect("/");
return false;
}
return true;
}
}
//拦截规则配置类
@Configuration
public class MVCInterceptRule extends WebMvcConfigurerAdapter {
//注入拦截器类
@Autowired
private MyInterceptor myInterceptor;
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(configInterceptor)
//需要拦截的路径使用addPathPatterns
.ad斜体样式dPathPatterns("/**");
//排除加载文件请求使用excludePathPatterns
.excludePathPatterns("/")
.excludePathPatterns("/static/**") // 排除静态文件
}
}
使用拦截器完成session超时退回指定页
最新推荐文章于 2022-11-15 13:50:29 发布