在asp.net核心网络api中,我已经按照MS文档中的文章配置了Cors 。Web API应用程序正在使用Windows身份验证(未启用匿名身份验证)。Cor的策略已创建,并且中间件的添加如下所示:startup.cs
public void ConfigureServices(IServiceCollection services)
{
services.AddCors(options =>
{
options.AddPolicy("CorsPolicy",
builder => builder.WithOrigins("http://localhost:4200")
.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials()
);
});
services.AddMvc().AddJsonOptions(options => {
options.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
});
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
//Enable CORS policy
app.UseCors("CorsPolicy");
app.UseMvc();
}
还按控制器级别应用了策略
[EnableCors("CorsPolicy"), Route("api/[controller]")]
public class LocationController : BaseController<Location>
{
//code
}
选项请求正在获得未授权。请求和响应看起来像
我看到了类似的问题,并尝试了几乎所有解决方案,但选项请求仍然失败。
相关分类