我有两个应用程序:.NET Core 2.0 中的 WebAPI.NET Core 2.0 中的前端 MVC,它使用 javascript 发送 post 请求。在两个初创公司中,我都有ConfigureServicesservices.AddCors();services .AddMvc() .AddFluentValidation(fv => fv.RegisterValidatorsFromAssemblyContaining<Startup>());Configureapp.UseDeveloperExceptionPage();app.UseAuthentication();app.UseCors(builder => builder .AllowAnyOrigin() .AllowAnyMethod() .AllowAnyHeader() .AllowCredentials() );app.UseMvc();但仍然在浏览器的控制台中显示“同源策略”不允许您从“ http://10.1.5.6:12345/test/add ”加载远程资源。(缺少 CORS 标题“访问控制允许来源”)
2 回答
慕码人8056858
TA贡献1803条经验 获得超6个赞
请抛出你必须得到答案 [Cors .net core 的完整详细信息]
https://docs.microsoft.com/en-us/aspnet/core/security/cors?view=aspnetcore-2.1
在你的情况下
options.AddPolicy("AllowAllMethods",
builder =>
{
builder.WithOrigins("http://example.com")
.AllowAnyMethod();
});
眼眸繁星
TA贡献1873条经验 获得超9个赞
当您指定 .AllowCredentials() 时,您需要添加 .WithOrigins(" http://frontenddomain ")。这将在 Access-Control-Allow-Origin 标头中添加特定域。
否则删除 .AllowCredentials() 然后 AllowAnyOrigin() 将起作用,因为这将在标题中添加 * 。
浏览器不允许凭据传递带有 * origin 的 auth cookie。因此,根据您的用例,要么使用 AllowCredentials + WithOrigins,要么仅使用 AllowAnyOrigin
- 2 回答
- 0 关注
- 179 浏览
添加回答
举报
0/150
提交
取消