升级到.NET 8后出现CorsPolicy错误

问题描述 投票:0回答:1

升级到 .NET 7 到 .NET 8 后,我收到以下错误

 services.AddCors(options =>
     {
    
         options.AddPolicy(name: "apiCorsPolicy",
         builder =>
         {           
               builder.SetIsOriginAllowed(origin => true);        
               builder.AllowAnyHeader().WithExposedHeaders("Content-Disposition");
               builder.AllowAnyMethod();
               builder.AllowCredentials();
       
         });
     });

错误:

从源“https://cp.in”访问“https://test.cp.in/api/Auth/authenticate”处的 XMLHttpRequest 已被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。

.NET 8 中需要进行任何更改吗?请让我托管在linux共享中 服务器

asp.net-core cors .net-8.0
1个回答
0
投票

尝试编辑 CORS 策略以包含指定允许来源的“

WithOrigins
”方法。按如下方式修改您的 CORS 策略设置:

services.AddCors(options =>
{
    options.AddPolicy("apiCorsPolicy",
        builder =>
        {
            builder.WithOrigins("https://cp.in")
                   .AllowAnyHeader()
                   .WithExposedHeaders("Content-Disposition")
                   .AllowAnyMethod()
                   .AllowCredentials();
        });
});

通过这种方式,CORS 策略将在响应中包含必要的“Access-Control-Allow-Origin”标头。

© www.soinside.com 2019 - 2024. All rights reserved.