gpt4 book ai didi

c# - 为本地主机上的任何端口启用 CORS

转载 作者:行者123 更新时间:2023-12-03 14:49:38 27 4
gpt4 key购买 nike

在 asp.net 核心中,我可以使用中间件在某些方法上启用 CORS,如 described here

我想知道是否可以为 localhost 上的任何方案和任何端口启用 CORS (仅用于测试目的)。我试过通配符,但它不起作用

public void ConfigureServices(IServiceCollection services)
{
services.AddCors(options =>
{
if(_environment.IsDevelopment())
{
options.AddDefaultPolicy(
builder =>
{
builder.WithOrigins("http://localhost/*",
"https://localhost/*");
});
});
}
else
{
options.AddDefaultPolicy(
builder =>
{
builder.WithOrigins("http://example.com",
"http://www.contoso.com");
});
});
}

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

最佳答案

ASP.NET Core 的 SetIsOriginAllowed 方法使您可以完全控制是否允许来源参与 CORS。这是基于您的代码示例的示例:

if(_environment.IsDevelopment())
{
options.AddDefaultPolicy(builder =>
{
builder.SetIsOriginAllowed(origin => new Uri(origin).Host == "localhost");
});
}
else
{
// ...
}
origin传递给 SetIsOriginAllowed 的值delegate 是完整的原点,看起来像 http://localhost:8080 .使用 Uri ,上面的代码比较 Host 反对 localhost ,最终允许所有 localhost起源。

关于c# - 为本地主机上的任何端口启用 CORS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57530680/

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