SpringBoot 2.x 自定义拦截器并解决静态资源访问被拦截问题


 

自定义拦截器

/** * UserSecurityInterceptor * Created with IntelliJ IDEA. * Author: yangyongkang * Date: 2018/8/22 * Time: 14:20 */ @Component public class UserSecurityInterceptor implements HandlerInterceptor { @Autowired private RedisTemplate<String, Serializable> redisCacheTemplate; @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { UserModel info = (UserModel) redisCacheTemplate.opsForValue().get(request.getSession().getId()); if (info == null || StringUtils.isEmpty(info)) { response.sendRedirect(request.getContextPath() + "/view/login"); return false; } return true; } @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) { } @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) { } }

配置访问路径及静态资源

/** * 登陆拦截控制类 * Created with IntelliJ IDEA. * Author: yangyongkang * Date: 2018/8/22 * Time: 14:17 */ @Configuration public class WebMvcConfig implements WebMvcConfigurer { @Autowired private UserSecurityInterceptor securityInterceptor; @Override public void addInterceptors(InterceptorRegistry registry) { InterceptorRegistration addInterceptor = registry.addInterceptor(securityInterceptor); // 排除配置 addInterceptor.excludePathPatterns("/error"); addInterceptor.excludePathPatterns("/static/**");//排除静态资源 addInterceptor.excludePathPatterns("/view/login"); addInterceptor.excludePathPatterns("/login/check"); // 拦截配置 addInterceptor.addPathPatterns("/**"); } @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");// } }


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM