前後端環境搭好之後測試了一下登錄,出了這個毛病,但是上面顯示的CORS
我就知道,跨域問題來了.
這個CORS,是一個W3C標準,全稱是"跨域資源共享"(Cross-origin resource sharing)需要瀏覽器和服務器同時支持。
所有瀏覽器都支持該功能。
服務器的話需要單獨配置使用 @CrossOrigin 或 全局配置類
這個@CrossOrigin需要配置在控制器類上
這個全局配置類的話只需要放在config配置文件夾中,具體代碼如下:
/** 全局跨域配置類
*/
@Configuration
public class GlobalCorsConfig {
@Bean
public CorsFilter corsFilter() {
//1.添加CORS配置信息
CorsConfiguration config = new CorsConfiguration();
//放行哪些原始域
config.addAllowedOrigin("*");
//是否發送Cookie信息
config.setAllowCredentials(true);
//放行哪些原始域(請求方式)
config.addAllowedMethod("OPTIONS");
config.addAllowedMethod("HEAD");
config.addAllowedMethod("GET"); //get
config.addAllowedMethod("PUT"); //put
config.addAllowedMethod("POST"); //post
config.addAllowedMethod("DELETE"); //delete
config.addAllowedMethod("PATCH");
config.addAllowedHeader("*");
//2.添加映射路徑
UrlBasedCorsConfigurationSource configSource = new UrlBasedCorsConfigurationSource();
configSource.registerCorsConfiguration("/**", config);
//3.返回新的CorsFilter.
return new CorsFilter(configSource);
}
}
配置類需要web起步依賴!!!
沒有用網關的直接放在啓動器類坐在項目的config配置文件夾下,
如果用的是網關!!!就請放在網關的config配置文件夾下!!!
總之連哪放哪.