问题描述
我正在ASP.NET Core中使用以下代码
services.AddCors(policy => policy.AddPolicy(Constant.CorsPolicy,builder =>
{
var allowedDomain = configuration.GetValue<string>("AllowedDomains").Split(",");
services.AddCors(policy => policy.AddPolicy(Constant.CorsPolicy,builder =>
{
builder.WithOrigins(allowedDomain)
.SetIsOriginAllowedToAllowWildcardSubdomains()
.AllowAnyMethod()
.AllowAnyHeader();
}));
}));
为了允许所有子域和主域,此代码执行的操作是允许所有子域,但不允许主域,我正在从配置中读取值。
“ AllowedDomains”:“ https:// .test.dk,http:// .test.dk,http://test.dk”
命中以下api是不允许的:
https://api.test.dk/api/v1/Product/Search
解决方法
尝试简化CORS并这样写:
在您的ConfigureServices方法中
public void ConfigureServices(IServiceCollection services)
{
services.AddCors();
}
在您的Configure方法中
public void Configure(IApplicationBuilder app,IWebHostEnvironment env)
{
app.UseCors(options =>
options.WithOrigins("http://localhost:3000")
.AllowAnyHeader()
.AllowAnyMethod());
}