【问题标题】:CORS policy BugCORS 政策错误
【发布时间】:2020-04-02 12:30:04
【问题描述】:

访问 XMLHttpRequest 在 来自原点“http://localhost:4200”的 CORS 策略已阻止:对预检请求的响应未通过访问控制检查: 当请求的凭据时,响应中的“Access-Control-Allow-Origin”标头的值不能是通配符“*” 模式是“包括”。 XMLHttpRequest 发起的请求的凭证模式由 withCredentials 属性控制。 我在后端的代码

        public static readonly string AllowOriginPolicy = "allowOriginPolicy";
        services.AddCors(options =>
        {
            options.AddPolicy(AllowOriginPolicy, builder =>
            {
                builder
                    .AllowAnyOrigin()
                    .AllowAnyHeader()
                    .AllowAnyMethod()
                    .DisallowCredentials()
                    .Build();
            }
            );
        });
        app.UseCors(AllowOriginPolicy);

仍然出现cors政策问题

【问题讨论】:

  • 错误似乎很明显,问题在于请求的设置方式。向我们展示服务器代码似乎无关紧要。
  • 这不是客户端错误吗?就是说服务器在访问控制头中响应了 *
  • 我同意这是一个客户端错误,进入服务器端代码的请求具有 withCredentials 属性。
  • 如果发布的答案已经解决了您的问题,请将其标记为 :)

标签: .net .net-core


【解决方案1】:

我在这里放弃了一个非常基本的 CORS 配置,因为没有提供详细信息。

希望对你有帮助。

        public void Configure(IApplicationBuilder app,
            IWebHostEnvironment env,
            IApplicationLifetime applicationLifetime,
            ILoggerFactory loggerFactory)
        {
            // ---

            app.UseCors(builder => builder.WithOrigins("http://localhost:4200")
            .AllowAnyHeader()
            .AllowAnyMethod()
            .AllowCredentials());

            // ---

        }

有关在 aspnetcore 中配置 cors 的更多信息: https://docs.microsoft.com/tr-tr/aspnet/core/security/cors

【讨论】:

    【解决方案2】:

    这似乎是客户端错误,进入服务器端代码的请求具有 withCredentials 属性,而不是相反。

    在这种情况下,我建议检查请求,特别是如果您可以控制请求的 withCredentials 属性,并可能将 withCredentials 属性更改为“不包含”

    您可以将 Access-Control-Allow-Origin 从“全部”更改为进入服务器后端的 HTTP 请求的来源。这样,您的后端服务器代码将不会使用“*”通配符进行响应,该通配符由于请求具有 withCredentials 属性而引发错误。

    上面的一个例子是这样的:

    app.UseCors(builder => builder.WithOrigins("http://localhost:4200")
    

    localhost:4200 是“原点”。

    【讨论】:

      猜你喜欢
      • 2019-08-25
      • 2021-04-27
      • 2014-05-03
      • 2021-02-13
      • 2020-12-23
      • 1970-01-01
      • 2020-11-05
      • 2020-03-07
      • 2020-01-15
      相关资源
      最近更新 更多