基于ASP.NET Core的筛选器和中间件打造的通用授信IP通用库,支持筛选器和中间件配置,支持全局和局部使用.
名称 | Nuget |
---|---|
Magicodes.Mvc.TrustIp |
- 黑名单
- 支持内存缓存以及分布式缓存
- 本地IP是否授信
支持配置多个授信IP,如下"TrustIpList"所示:
{ "TrustIpList": [ "218.76.8.29", "::1" ] }
注意:0.0.0.0 表示支持任意Ip
services.AddMvc(options => options.Filters.Add(typeof(TrustIPFilter))).SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
// GET api/values
[HttpGet]
//也可以单独配置
[ServiceFilter(typeof(TrustIpFilter))]
public ActionResult<IEnumerable<string>> Get()
{
return new string[] { "value1", "value2" };
}
启用中间件: app.UseTrustIP(loggerFactory, Configuration);
如当前请求IP未在授信IP列表之内,则返回http状态码403
app.UseForwardedHeaders(new ForwardedHeadersOptions
{
ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto
});