为了账号安全,请及时绑定邮箱和手机立即绑定

两个项目和 javascript 之间的 CORS

两个项目和 javascript 之间的 CORS

C#
繁华开满天机 2021-11-21 15:36:05
我有两个应用程序:.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();

});


查看完整回答
反对 回复 2021-11-21
?
眼眸繁星

TA贡献1873条经验 获得超9个赞

当您指定 .AllowCredentials() 时,您需要添加 .WithOrigins(" http://frontenddomain ")。这将在 Access-Control-Allow-Origin 标头中添加特定域。

否则删除 .AllowCredentials() 然后 AllowAnyOrigin() 将起作用,因为这将在标题中添加 * 。

浏览器不允许凭据传递带有 * origin 的 auth cookie。因此,根据您的用例,要么使用 AllowCredentials + WithOrigins,要么仅使用 AllowAnyOrigin


查看完整回答
反对 回复 2021-11-21
  • 2 回答
  • 0 关注
  • 179 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信