当前位置: 首页 > 知识库问答 >
问题:

ASP.NET Core中CORS中的问题-响应中“访问控制允许源”标头的值不得为通配符*

谷梁德容
2023-03-14

我得到了下面的错误

在http://localhost:5000/api/values/track/?name=name访问XMLHttpRequest

我已经配置了Asp.net核心应用程序如下

public void ConfigureServices(IServiceCollection services)
        {

            services.AddCors(o => o.AddPolicy("MyPolicy", builder =>
            {
                builder.AllowAnyOrigin()
                       .AllowAnyMethod()
                       .AllowAnyHeader().AllowCredentials() ;
            }));


            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
        }

    public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            app.UseCors("MyPolicy");
            app.UseMvc();
        }

内容类型:application/x-www-form-urlencoded

有人能帮我解决这个问题吗?

共有1个答案

管玉堂
2023-03-14

当请求的凭据模式为“包括”时,响应中“访问控制允许源”标头的值不得为通配符“*”。

因为错误表示您使用AllowAnyOriginAllowCrephaals方法配置您的应用程序,这会导致CORS服务返回无效的CORS响应。

您可以修改代码以启用特定源,如下所示。

builder.WithOrigins("set_specified_origins_here")
        .AllowAnyMethod()
        .AllowAnyHeader()
        .AllowCredentials();

有关“设置允许的原点”的详细信息,请查看以下文档:https://docs.microsoft.com/en-us/aspnet/core/security/cors?view = aspnetcore-2.0 # set-the-allowed-origins-1

 类似资料:
  • 我在后端使用spring boot服务,在前端使用angular 6。 在spring boot中,我使用启用了cors。 并且我正在为每个服务使用拦截器。 在前端呼叫服务中: 如果使用拦截器,我会得到以下异常。如果不使用隔膜,我不会得到cors错误。 加载失败http://localhost:7070/example/myservice:飞行前响应中的访问控制允许标头不允许请求标头字段访问控制允

  • 我正在开发一个带有jhipster V4.5.6的Spring启动应用程序。但无法配置 CORS。 下面是我的application-dev.yml文件: WebConfigurer.java如下: 和安全配置。java文件如下所示: 现在,我可以使用 GET 请求。但是当我使用POST时,如下所示: 我得到以下错误: XMLHttpRequest 无法加载 http://localhost:80

  • 我正在从主机(http://abc.com.au)向主机http://localhost:8081上运行的Spring Cloud API网关发送ajax请求。 jquery AJAX请求代码。 SimplifiedAdoptionBulkUpload.jsp spring cloud gateway cors配置。 我在chrome控制台中遇到以下错误。 SimplifiedAdoptionBu

  • 我在vHost中设置了。 但是现在我遇到了这样一个错误: CORS策略阻止从来源'http://localhost:3000'访问xxx处的XMLHttpRequest:'Access-Control-Allow-Origin'标头包含多个值'http://localhost:3000,*',但只允许一个值。 你知道怎么回事吗?是服务器端的问题还是我应该在axios配置中设置一些东西? 谢了。

  • 嗨,我不能禁用CORS在我的项目。我为CORS配置使用了自定义过滤器和Spring Security配置。我见过这个极好的答案:你能在Spring中完全禁用CORS支持吗? 但是当我尝试下面的实现时,我仍然得到CORS错误: CORS配置:

  • 我正在尝试将webUntis(文档)API用于学校项目。现在,我只是尝试建立与API的任何类型的连接。 此代码产生以下错误消息: 已阻止跨源请求:同一源策略禁止读取位于的外部资源https://api.webuntis.dk/api/status(原因:缺少CORS标头“访问控制允许来源”)。 这个问题可能如何解决?也许我的API密钥是错误的? 免责声明:错误消息是从德语翻译过来的。