即使启用了CORS,Web Api仍会始终发生403错误
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了即使启用了CORS,Web Api仍会始终发生403错误相关的知识,希望对你有一定的参考价值。
我在我的后端使用.NET Core 2.0开发了一个WebApi。当我测试我的生产版本时,我无法从我的控制器调用一个方法,我已经激活了cors以允许所有内容仅用于测试目的。当我构建我的WebApi for Development环境时,它工作得非常好。
这就是我在启动课上的内容
public void ConfigureProduction(IApplicationBuilder app, IHostingEnvironment env)
{
app.UseForwardedHeaders(new ForwardedHeadersOptions
{
ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto
});
//var options = new RewriteOptions()
// .AddRedirectToHttps();
//app.UseRewriter(options);
app.UseDeveloperExceptionPage();
app.UseCors(builder => {
builder.AllowAnyOrigin();
builder.AllowAnyMethod();
builder.AllowAnyHeader();
});
app.UseMvc();
}
答案
此外,您需要允许凭据:
- API
app.UseCors(builder => { builder.AllowAnyOrigin(); builder.AllowAnyMethod(); builder.AllowAnyHeader(); builder.AllowCredentials(); // <-- add this line });
- Client
let requestOptions = new RequestOptions({withCredentials: true});
以上是关于即使启用了CORS,Web Api仍会始终发生403错误的主要内容,如果未能解决你的问题,请参考以下文章
即使在配置 ASP.NET Core Web API 中启用了 CORS,CORS 也会阻止发布请求
即使在使用 ASP.NET CORE Web Api 启用 CORS 后,仍然可以通过 POSTMAN 访问 API [重复]