两个项目和 javascript 之间的 CORS

我有两个应用程序:


.NET Core 2.0 中的 WebAPI


.NET Core 2.0 中的前端 MVC,它使用 javascript 发送 post 请求。


在两个初创公司中,我都有


ConfigureServices

services.AddCors();

services

 .AddMvc()

 .AddFluentValidation(fv => fv.RegisterValidatorsFromAssemblyContaining<Startup>());



Configure

app.UseDeveloperExceptionPage();

app.UseAuthentication();


app.UseCors(builder => builder

      .AllowAnyOrigin()

      .AllowAnyMethod()

      .AllowAnyHeader()

      .AllowCredentials()

      );


app.UseMvc();

但仍然在浏览器的控制台中显示


“同源策略”不允许您从“ http://10.1.5.6:12345/test/add ”加载远程资源。(缺少 CORS 标题“访问控制允许来源”)


繁华开满天机
浏览 182回答 2
2回答

慕码人8056858

请抛出你必须得到答案 [Cors .net core 的完整详细信息]https://docs.microsoft.com/en-us/aspnet/core/security/cors?view=aspnetcore-2.1在你的情况下options.AddPolicy("AllowAllMethods",builder =>{&nbsp; &nbsp; builder.WithOrigins("http://example.com")&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.AllowAnyMethod();});

眼眸繁星

当您指定 .AllowCredentials() 时,您需要添加 .WithOrigins("&nbsp;http://frontenddomain&nbsp;")。这将在 Access-Control-Allow-Origin 标头中添加特定域。否则删除 .AllowCredentials() 然后 AllowAnyOrigin() 将起作用,因为这将在标题中添加 * 。浏览器不允许凭据传递带有 * origin 的 auth cookie。因此,根据您的用例,要么使用 AllowCredentials + WithOrigins,要么仅使用 AllowAnyOrigin
打开App,查看更多内容
随时随地看视频慕课网APP