.net core 3.1 webapi 跨域設定
阿新 • • 發佈:2020-09-10
原因:跨域是因為瀏覽器的同源策略所導致的。所謂同源是指"協議+域名+埠"三者相同,即便兩個不同的域名指向同一個ip地址,也非同源。瀏覽器引入同源策略主要是為了防止XSS,CSRF攻擊。
找到Startup.cs
定義一個變數
private readonly string AllowCors = "AllowCors";
然後在ConfigureServices方法中增加以下程式碼
//在AddControllers 之前新增
#region 跨域 services.AddCors(options => { options.AddPolicy(AllowCors, builder=> { builder.AllowAnyMethod() .AllowAnyOrigin() .AllowAnyHeader(); }); }); #endregion
最後在Configure 方法中 新增如下程式碼
app.UseRouting(); //在UseRouting之後,Endpoints之前,新增如下程式碼 app.UseCors(AllowCors); app.UseEndpoints(endpoints=> { endpoints.MapControllers(); });