Springboot的跨域配置及拦截器设置

跨域配置

 @Bean
    public WebMvcConfigurer corsConfigurer() {
        return new WebMvcConfigurer() {
            /*
             * 添加跨域访问映射路径
             */
            @Override
            public void addCorsMappings(CorsRegistry registry) {
                registry.addMapping("/**")// 允许跨域访问当前项目的所有路径
                        .allowCredentials(true)// 是否允许使用凭证(session)
                        .allowedMethods("*");// 设置跨域访问的请求为任意请求
            }

        };
    }

拦截器

@Override
public void addInterceptors(InterceptorRegistry registry){
       registry.addInterceptor(new HandlerInterceptor() {
           //通过控制器之前执行的方法
           @Override
           public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
               System.out.println("执行拦截器");
               HttpSession session = request.getSession();
               CurrUser currUser = (CurrUser) session.getAttribute(Constant.SESSION_CURRUSER);
               if(currUser==null){
                   System.out.println("不通过拦截器");
                   return false;//返回false表示不允许通过
               }
               System.out.println("通过拦截器");
               return true;//返回true表示允许通过
           }
       }).addPathPatterns("/**")//添加拦截路径
         .excludePathPatterns("/safty/login");//排除拦截路径
   }
发布了12 篇原创文章 · 获赞 7 · 访问量 4692

猜你喜欢

转载自blog.csdn.net/qq_30385099/article/details/104855051