Provides a solution to grant/deny access to some IP ranges.
{
(...)
"IpSafeList": {
"IpAddresses": "127.0.0.1;::1",
"IpNetworks": "192.168.1.0/24;2001:0db8::1/64;110.40.88.12/28"
}
}
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using qckdev.AspNetCore.Mvc.Filters.IpSafe;
public void ConfigureServices(IServiceCollection services)
{
var ipSafeListSettings = Configuration.GetSection("IpSafeList").Get<IpSafeListSettings>();
services.AddIpSafeFilter(ipSafeListSettings);
services.AddControllers();
}
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
using qckdev.AspNetCore.Mvc.Filters.IpSafe;
using System;
using System.Collections.Generic;
using System.Linq;
[ApiController]
[Route("[controller]")]
public class WeatherForecastController : ControllerBase
{
(...)
[HttpGet, IpSafeFilter]
public IEnumerable<WeatherForecast> Get()
{
(...)
}
}
Class | Mask | From | To |
---|---|---|---|
Class A | 10.0.0.0/8 | 10.0.0.0 | 10.255.255.255 |
Class B | 172.16.0.0/12 | 172.16.0.0 | 172.31.255.255 |
Class C | 192.168.0.0/16 | 192.168.0.0 | 192.168.255.255 |