在 asp.net core 中,我可以使用中间件在此处描述的某些方法上启用 CORS
我想知道是否可以为任何方案和任何端口启用 CORS localhost(仅用于测试目的)。我试过通配符,但它不起作用
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);
}
Run Code Online (Sandbox Code Playgroud)
Kir*_*kin 32
ASP.NET Core 的SetIsOriginAllowed方法使您可以完全控制是否允许源参与 CORS。这是基于您的代码示例的示例:
if(_environment.IsDevelopment())
{
options.AddDefaultPolicy(builder =>
{
builder.SetIsOriginAllowed(origin => new Uri(origin).Host == "localhost");
});
}
else
{
// ...
}
Run Code Online (Sandbox Code Playgroud)
origin传递给SetIsOriginAllowed委托的值是完整的原点,看起来像http://localhost:8080. 使用Uri,上面的代码比较了Host对localhost,最终允许所有localhost来源。
| 归档时间: |
|
| 查看次数: |
7361 次 |
| 最近记录: |