springboot 設置CorsFilter跨域不生效問題

問題描述


公司的前後端開發項目工程,在本地調試的時候遇到了跨域的問題,同事調我的服務一直提示跨域問題,然後前端nb他自己在哪裏做了跨域處理,類似nginx那種,但是我還是百度去看了一下,在一個大佬的博客中發現瞭解決方案,轉載一下。
問題原因是是寫的判斷登錄的filter影響了登錄,原因是的這個filter執行順序在corsfilter之前導致,於是修改了一下跨域設置的配置文件

 

/**
 * 使用CORS,用於解決ajax跨域訪問問題
 */
@Configuration
public class GlobalCorsConfig {
    @Bean
    public FilterRegistrationBean corsFilter() {
        //1.添加CORS配置信息
        CorsConfiguration config = new CorsConfiguration();
        //1) 允許的域,不要寫*,否則cookie就無法使用了
        //config.addAllowedOrigin("http://manage.leyou.com");
        //config.addAllowedOrigin("http://www.leyou.com");
        config.addAllowedOrigin("*");
        //2) 是否發送Cookie信息
        config.setAllowCredentials(true);
        //3) 允許的請求方式
        config.addAllowedMethod("OPTIONS");
        config.addAllowedMethod("HEAD");
        config.addAllowedMethod("GET");
        config.addAllowedMethod("PUT");
        config.addAllowedMethod("POST");
        config.addAllowedMethod("DELETE");
        config.addAllowedMethod("PATCH");
        config.setMaxAge(3600L);
        // 4)允許的頭信息
        config.addAllowedHeader("*");
 
        //2.添加映射路徑,我們攔截一切請求
        UrlBasedCorsConfigurationSource configSource = new UrlBasedCorsConfigurationSource();
        configSource.registerCorsConfiguration("/**", config);
 
        //3.返回新的CorsFilter.
        //return new CorsFilter(configSource);
 
        FilterRegistrationBean bean = new FilterRegistrationBean(new CorsFilter(configSource));
        bean.setOrder(0);
        return bean;
    }
}

來自一個大佬轉載信息,感謝大佬!
轉載保留版權:小松博客» springboot 設置跨域不生效問題
本文鏈接地址:https://www.phpsong.com/3850.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章