gpt4 book ai didi

asp.net-core - 配置 cors 以允许所有子域使用 ASP.NET Core(Asp.net 5、MVC6、VNext)

转载 作者:行者123 更新时间:2023-12-03 02:44:00 25 4
gpt4 key购买 nike

我在 ASP.NET Core Web 应用程序中正确设置了 cors。我使用以下包...

"Microsoft.AspNet.Cors": "6.0.0-rc1-final"

这是startup.cs片段...

public virtual IServiceProvider ConfigureServices(IServiceCollection services)
{
services.AddCors
(
options =>
{
options.AddPolicy
(
CORSDefaults.PolicyName,
builder =>
{
//From config...
var allowedDomains = new []{"http://aaa.somewhere.com","https://aaa.somewhere.com","http://bbb.somewhere.com","https://bbb.somewhere.com"};

//Load it
builder
.WithOrigins(allowedDomains)
.AllowAnyHeader()
.AllowAnyMethod()
.AllowCredentials();
}
);
}
);
}

这非常有效,只是允许的子域列表增长得很快,而且我想允许“somewhere.com”的所有子域。类似于“*.somewhere.com”。我似乎找不到任何有关如何在新的 ASP.NET Core(MVC6、ASP.NET5、VNext)中执行此操作的文档。我发现的所有演示如何执行此操作的文档/示例均适用于早期版本的 MVC 或 WebApi。如何在新堆栈中实现这一目标?

最佳答案

此功能现已在 2.0.0 版本中实现。在您的 ConfigureServices 中使用以下内容:

options.AddPolicy("MyCorsPolicy",
builder => builder
.SetIsOriginAllowedToAllowWildcardSubdomains()
.WithOrigins("https://*.mydomain.com")
.AllowAnyMethod()
.AllowCredentials()
.AllowAnyHeader()
.Build()
);

另外,也不要忘记在 Configure 调用中调用 UseCors:

app.UseCors("MyCorsPolicy");

关于asp.net-core - 配置 cors 以允许所有子域使用 ASP.NET Core(Asp.net 5、MVC6、VNext),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36877652/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com