• springboot java 跨域 问题处理


    问题

    很多时候在控制器中设置了跨域注解 没有用!

    直接在拦截器中配置

    方式一

    @Component
    public class TokenInterceptor implements HandlerInterceptor {
    
    
    
        @Override
        public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
            System.out.println("进入LoginInterceptor拦截器---------------------------------------");
    
    
            //添加跨域CORS
            response.setHeader("Access-Control-Allow-Origin", "*");
            response.setHeader("Access-Control-Allow-Headers", "X-Requested-With,content-type,token");
            response.setHeader("Access-Control-Allow-Methods", "GET, HEAD, POST, PUT, DELETE, TRACE, OPTIONS, PATCH");
    }
    }
    
    

    方式二

    利用 CorsConfiguration 类解决

      /**
         * 配置跨域
         * @return
         */
        @Bean
        public CorsWebFilter corsFilter() {
            CorsConfiguration config = new CorsConfiguration();
            // cookie跨域
            config.setAllowCredentials(Boolean.TRUE);
            config.addAllowedMethod("*");
            config.addAllowedOrigin("*");
            config.addAllowedHeader("*");
            // 配置前端js允许访问的自定义响应头
            config.addExposedHeader("token");
            config.addExposedHeader("username");
            config.addExposedHeader("content-disposition");
            config.addExposedHeader("filename");
    
            UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(new PathPatternParser());
            source.registerCorsConfiguration("/**", config);
    
            return new CorsWebFilter(source);
        }
    
    
    
    

    ·

  • 相关阅读:
    关于php配置文件
    修改范围PHP_INI_SYSTEM与PHP_INI_ALL的区别
    mysql索引常见问题
    K-D TREE算法原理及实现
    Matlab K-means聚类
    Matlab 聚类分析
    Zbar 大图像分析
    Zbar -- 源码分析
    ZBar在Windows上的使用 -- ImageMagick and OpenCV
    Zbar算法流程介绍
  • 原文地址:https://www.cnblogs.com/cfas/p/16142835.html
Copyright © 2020-2023  润新知