今天集成了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);
}
}
希望能幫助到你
關注我吧,見證菜鳥起飛: