Skip to content

hfrances/qckdev.AspNetCore.Mvc.Filters.IpSafe

Repository files navigation

NuGet Version Quality Gate Code Coverage Azure Pipelines Status

qckdev.AspNetCore.Mvc.Filters.IpSafe

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()
  {
    (...)
  }
}

Private Address Ranges

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

About

Provides a solution to grant/deny access to some IP ranges.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages