SpringSecurity解決跨域問題

今天集成了SpringSecurity發現postman可以訪問,瀏覽器不可以訪問,但是我之前已經做好了跨域的。

如果你的SpringBoot項目已經解決了跨域,那麼只需要在SpringSecurityConfig做如下配置就好了

在這裏插入圖片描述

如果你還沒有解決跨域,那麼你只需要把下面的代碼複製到和啓動類平級就好了

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;

/**
 * 解決跨域請求的
 */

@Configuration
public class CorsConfig {
    private CorsConfiguration buildConfig() {
        CorsConfiguration corsConfiguration = new CorsConfiguration();
        //  你需要跨域的地址  注意這裏的 127.0.0.1 != localhost
        // * 表示對所有的地址都可以訪問
        corsConfiguration.addAllowedOrigin("*");
        //  跨域的請求頭
        corsConfiguration.addAllowedHeader("*"); // 2
        //  跨域的請求方法
        corsConfiguration.addAllowedMethod("*"); // 3
        //加上了這一句,大致意思是可以攜帶 cookie
        //最終的結果是可以 在跨域請求的時候獲取同一個 session
        corsConfiguration.setAllowCredentials(true);
        return corsConfiguration;
    }
    @Bean
    public CorsFilter corsFilter() {
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        //配置 可以訪問的地址
        source.registerCorsConfiguration("/**", buildConfig()); // 4
        return new CorsFilter(source);
    }
}

希望能幫助到你



關注我吧,見證菜鳥起飛:
在這裏插入圖片描述

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