springboot配置CORS允許跨域訪問
參考:
配置CORS允許跨域訪問:
@Configuration
public class CORSConfig {
@Bean
public WebMvcConfigurer corsConfigurer() {
return new WebMvcConfigurerAdapter() {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins(ALL)
.allowedMethods(ALL)
.allowedHeaders(ALL)
.allowCredentials(true);
}
};
}
}
其他
WebMvcConfigurerAdapter 與 WebMvcConfigurer
CorsConfiguration類
public class CorsConfiguration {
//Access-Control-Allow-Origin
//該欄位必填。它的值要麼是請求時Origin欄位的具體值,要麼是一個*,表示接受任意域名的請求。
private List<String> allowedOrigins;
//Access-Control-Allow-Methods
//該欄位必填。它的值是逗號分隔的一個具體的字串或者*,表明伺服器支援的所有跨域請求的方法。
//注意,返回的是所有支援的方法,而不單是瀏覽器請求的那個方法。這是為了避免多次"預檢"請求。
private List<String> allowedMethods;
private List<HttpMethod> resolvedMethods = DEFAULT_METHODS;
//Access-Control-Allow-Headers
private List<String> allowedHeaders;
//Access-Control-Expose-Headers
//該欄位可選。CORS請求時,XMLHttpRequest物件的getResponseHeader()方法只能拿到6個基本欄位:
//Cache-Control、Content-Language、Content-Type、Expires、Last-Modified、Pragma。
//如果想拿到其他欄位,就必須在Access-Control-Expose-Headers裡面指定。
private List<String> exposedHeaders;
//Access-Control-Allow-Credentials
//該欄位可選。它的值是一個布林值,表示是否允許傳送Cookie. 預設情況下,不傳送Cookie,即:false。
//對伺服器有特殊要求的請求,比如請求方法是PUT或DELETE,或者Content-Type欄位的型別是application/json,
//這個值只能設為true。
//如果伺服器不要瀏覽器傳送Cookie,刪除該欄位即可。
private Boolean allowCredentials;
//Access-Control-Max-Age
//該欄位可選,用來指定本次預檢請求的有效期,單位為秒。在有效期間,不用發出另一條預檢請求。
private Long maxAge;
//.......
}
ajax請求示例
Access-Control-Allow-Origin: http://www.examples.com
//真實請求允許的方法
Access-Control-Allow-Methods: GET, POST, PUT, DELETE
//伺服器允許使用的欄位
Access-Control-Allow-Headers: X-Custom-Header
//是否允許使用者傳送、處理 cookie , 允許跨域帶上cookies
Access-Control-Allow-Credentials: true
//預檢請求的有效期,單位為秒。有效期內,不會重複傳送預檢請求
Access-Control-Max-Age: 1728000
相關文章
- SpringBoot 允許跨域配置Spring Boot跨域
- Laravel API 允許跨域訪問LaravelAPI跨域
- PHP 設定多域名允許跨域訪問PHP跨域
- Nginx解決前端跨域問題 CORS跨域配置Nginx前端跨域CORS
- 允許跨域請求跨域
- mariadb配置允許遠端訪問方式
- SpringBoot中通過CORS解決跨域問題Spring BootCORS跨域
- SpringBoot 配置CORS處理前後端分離跨域配置無效問題解析Spring BootCORS後端跨域
- CORS跨域問題梳理CORS跨域
- 跨域共享CORS詳解及Gin配置跨域跨域CORS
- cors解決跨域問題CORS跨域
- 跨域CORS跨域CORS
- CORS跨域CORS跨域
- 如何使flask允許跨域請求Flask跨域
- 深入跨域問題(2) - 利用 CORS 解決跨域跨域CORS
- CORS 跨域, 也許這篇就夠了CORS跨域
- spring boot解決跨域訪問配置Spring Boot跨域
- springboot 跨域配置類Spring Boot跨域
- CORS方式實現ajax跨域 — nginx配置CORS跨域Nginx
- 啟動google 瀏覽器允許跨域Go瀏覽器跨域
- 跨域 Cors error跨域CORSError
- 跨域之CORS跨域CORS
- mysql如何允許遠端訪問MySql
- 深入跨域問題(1) - 初識 CORS 跨域資源共享跨域CORS
- springboot系列文章之實現跨域請求(CORS)Spring Boot跨域CORS
- 跨域CORS圖片上傳問題跨域CORS
- Cors跨域問題中文官方文件CORS跨域
- 跨域問題,解決方案 – CORS方案跨域CORS
- springboot 跨域問題Spring Boot跨域
- localStorage 跨域訪問跨域
- CORS跨域請求CORS跨域
- JavaScript-CORS 跨域JavaScriptCORS跨域
- MYSQL設定允許所有IP訪問MySql
- Springboot處理CORS跨域請求的三種方法Spring BootCORS跨域
- 跨源通訊、跨域訪問跨域
- 跨域問題(CORS / Access-Control-Allow-Origin)跨域CORS
- 解決跨域問題 barryvdh/Laravel-cors跨域LaravelCORS
- ASP.NET MVC & WebApi 中實現Cors來讓Ajax可以跨域訪問ASP.NETMVCWebAPICORS跨域