.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(); });