【发布时间】:2020-04-26 23:52:58
【问题描述】:
我有一个测试应用程序,我想发送一个请求并获取一个令牌,但是由于我的后端配置中的交叉请求错误,我无法获取它:
public void ConfigureServices(IServiceCollection services)
{
services.AddCors(o => o.AddPolicy("MyPolicy", builder =>
{
builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials().WithOrigins("http://localhost:4200");
}));
并在配置部分添加以下内容:
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseHsts();
}
app.UseAuthentication();
app.UseCors("MyPolicy");
app.UseMvc();
}
但仍然收到错误消息:CORS 策略已阻止:请求的资源上不存在“Access-Control-Allow-Origin”标头
【问题讨论】:
-
删除后重试:
.AllowCredentials().WithOrigins("http://localhost:4200"); -
@Hadi 我这样做了,还是不行,同样的错误
-
所以请在startup.cs的“configure”方法中分享你的中间件。
-
@Hadi 用那个编辑了我的帖子
-
@moris62,由于其他问题,有时我在 asp.net-core + angular 项目中出现 CORS 错误。但实际上它工作正常。我在下面写了一个答案