1. 程式人生 > 其它 >netcore跨域問題與介面請求錯誤400

netcore跨域問題與介面請求錯誤400

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(new
CorsAuthorizationFilterFactory("any")));

參考:

https://stackoverflow.com/questions/44379560/how-to-enable-cors-in-asp-net-core-webapi

https://blog.csdn.net/aoquandao8917/article/details/101937311