zoukankan      html  css  js  c++  java
  • 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/");//
        }
    }
  • 相关阅读:
    VBS基础篇
    AcWing249 蒲公英(分块)
    CF1338B Edge Weight Assignment(思维+dfs)
    CF785E Anton and Permutation(分块)
    UCF Local Programming Contest 2015(Practice)D题
    AcWing851 spfa求最短路
    CF479E Riding in a Lift (dp)
    AcWing267 莫基亚(CDQ分治)
    P4093 [HEOI2016/TJOI2016]序列 (CDQ分治)
    2019ICPC南昌区域赛C题 And and Pair(数位dp)
  • 原文地址:https://www.cnblogs.com/lhboke/p/13270065.html
Copyright © 2011-2022 走看看