1. 程式人生 > 實用技巧 >.net core 3.1 webapi 跨域設定

.net core 3.1 webapi 跨域設定

原因:跨域是因為瀏覽器的同源策略所導致的。所謂同源是指"協議+域名+埠"三者相同,即便兩個不同的域名指向同一個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(); });