netcore跨域問題與介面請求錯誤400
阿新 • • 發佈:2021-08-02
1.在startup.cs中配置好基本的跨域的一些屬性後,前端還是一直報跨域的錯誤
//配置跨域處理 services.AddCors(options => { options.AddPolicy("any", builder => { builder.AllowAnyOrigin() .AllowAnyMethod() .AllowAnyHeader() .AllowCredentials(); }); });
後來加這段後跨域問題解決
ASP.NET Core 防止跨站請求偽造(XSRF/CSRF)攻擊
services.AddMvc(options => options.Filters.Add(new AutoValidateAntiforgeryTokenAttribute()));
2.POST請求一律報400錯誤,後來排查到時因為加了上面的屬性,註釋後正常訪問,但兩者存在衝突
3.正確解決方案(上面的防止跨站攻擊的程式碼刪除掉,加上下面的這段)
通過“CorsAuthorizationFilterFactory”過濾器方式給所有Controller增加跨域設定
services.Configure<MvcOptions>(option => option.Filters.Add(newCorsAuthorizationFilterFactory("any")));
參考:
https://stackoverflow.com/questions/44379560/how-to-enable-cors-in-asp-net-core-webapi
https://blog.csdn.net/aoquandao8917/article/details/101937311