1.將以下的類放到與啟動(dòng)類平級(jí)
package com.skyi.ietm;
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;
/**
* @ClassName CorsConfig
* @Description TODO
* @Author Ning
* @Date 2021/8/28 0:04
* @Version 1.0
*/
@Configuration
public class CorsConfig {
private CorsConfiguration buildConfig(){
CorsConfiguration corsConfiguration = new CorsConfiguration();
// 你需要跨域的地址 注意這里的 127.0.0.1 != localhost
// * 表示對(duì)所有的地址都可以訪問
corsConfiguration.addAllowedOrigin("*");
// 跨域的請(qǐng)求頭
corsConfiguration.addAllowedHeader("*"); // 2
// 跨域的請(qǐng)求方法
corsConfiguration.addAllowedMethod("*"); // 3
//加上了這一句,大致意思是可以攜帶 cookie
//最終的結(jié)果是可以 在跨域請(qǐng)求的時(shí)候獲取同一個(gè) session
corsConfiguration.setAllowCredentials(true);
return corsConfiguration;
}
@Bean
public CorsFilter corsFilter() {
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
//配置 可以訪問的地址
source.registerCorsConfiguration("/**", buildConfig()); // 4
return new CorsFilter(source);
}
}
2. 可以添加注解 @CrossOrigin
如果你的SpringBoot項(xiàng)目已經(jīng)解決了跨域绳慎,那么只需要在SpringSecurityConfig做如下配置就好了
SpringSecurityConfig
前端解決跨域
image.png