edd*_*P23 7 c# cors asp.net-core
我正在使用标准的 ASP.NET Core 中间件,并且我希望允许 IP 地址范围(在我的情况下,我正在寻找私有 IP 地址范围),以简化开发。
目前,我的中间件如下所示:
app.UseCors(builder =>
builder.WithOrigins("http://localhost:8080", "https://test-env.com")
.AllowAnyHeader()
.AllowAnyMethod());
Run Code Online (Sandbox Code Playgroud)
但现在我想添加一系列 IP,例如172.16.0.0–172.31.255.255,以 CIDR 表示法172.16.0.0/12。我该怎么做?
我尝试了以下操作,但似乎都不起作用:
http://172.16.0.0/12:4200http://172.16.*.*:4200http://172.16.*:4200ASP.NET Core 2.0 引入了使用该SetIsOriginAllowed方法完全控制如何验证源的能力。这是一个如何配置它的示例:
app.UseCors(builder =>
builder.SetIsOriginAllowed(MyIsOriginAllowed)
.AllowAnyHeader()
.AllowAnyMethod());
// ...
private static bool MyIsOriginAllowed(string origin)
{
var isAllowed = false;
// Your logic.
return isAllowed;
}
Run Code Online (Sandbox Code Playgroud)
传入的回调SetIsOriginAllowed属于类型Func<string, bool>,预计会返回true允许的来源,false否则返回。
在验证范围本身方面,还有另一个可能有用的答案:如何使用 CIDR 表示法查看 IP 地址是否属于 IP 范围内?.
| 归档时间: |
|
| 查看次数: |
1676 次 |
| 最近记录: |