即使启用了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 [重复]

CORS 已启用,但仍会收到 405

WEB API:我显然无法启用 CORS(?)

在 Web API 中启用了 CORS,但访问被拒绝

CORS 已启用,但 toDataURL 仍会引发警告