TFE.Umbraco.AccessRestriction 12.0.1

There is a newer version of this package available.
See the version list below for details.
dotnet add package TFE.Umbraco.AccessRestriction --version 12.0.1                
NuGet\Install-Package TFE.Umbraco.AccessRestriction -Version 12.0.1                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="TFE.Umbraco.AccessRestriction" Version="12.0.1" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add TFE.Umbraco.AccessRestriction --version 12.0.1                
#r "nuget: TFE.Umbraco.AccessRestriction, 12.0.1"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install TFE.Umbraco.AccessRestriction as a Cake Addin
#addin nuget:?package=TFE.Umbraco.AccessRestriction&version=12.0.1

// Install TFE.Umbraco.AccessRestriction as a Cake Tool
#tool nuget:?package=TFE.Umbraco.AccessRestriction&version=12.0.1                

TFE.Umbraco.AccessRestriction

GitHub license NuGet NuGet

TFE.Umbraco.AccessRestriction is a IP access restriction manager for Umbraco. The package features a dashboard and editor that let's users manage whitelisted IP addresses from within the Umbraco backoffice. IP's can be added with a description and have both a creation and modified date and user.

Getting started

License: Umbraco: Target Framework:
MIT License Umbraco 12 .NET 7

Package Installation

The Umbraco 12 version of this package is only available via NuGet. To install the package, you can use either .NET CLI:

dotnet add package TFE.Umbraco.AccessRestriction --version 12.0.1

or the older NuGet Package Manager:

NuGet\Install-Package TFE.Umbraco.AccessRestriction --version 12.0.1

Umbraco Installation

Before the Umbraco middleware, add the IPAccessRestrictionMiddleware to Startup.cs:

app.UseMiddleware<IPAccessRestrictionMiddleware>(); 

Add the necessary usings to Startup.cs:

using TFE.Umbraco.AccessRestriction.Middleware;

Add these settings to appsettings.json

"TFE.Umbraco.AccessRestriction": {
    "disable": true, 
    "logBlockedIP": false,
    "localHost": "127.0.0.1", 
    "excludePaths": "/umbraco, /App_Plugins, /api/keepalive/ping",
    "includePaths": "", 
    "isCloudFlare": false,
    "customHeader": ""
  }

Either use "excludePaths" or "includePaths" to direct the IP blocker.

Azure / CloudFlare / Umbraco Cloud Installation

When installed on a cloud environment make sure to add your the cloud IP Addresses. Replace the following excludePaths property in appsettings.json :

"excludePaths": "/umbraco, /App_Plugins, /api/keepalive/ping, /umbraco-signin-oidc, /sb", 

Set to true when using Cloudflare

"isCloudFlare": true,

If a proxy is being used, set the value of the 'customHeader' field to 'header' with the IP address used by the proxy.

"customHeader": "",

Whitelist IP Addresses

There are two different ways to whitelist an IP address, though the dashboard interface and by adding the IP address to WhitelistedIps.txt. Both methods can be used simultaneously and separately.

Add an IP using the Umbraco dashboard

Add an IP to the whitelist

Add an IP using WhitelistedIps.txt

Add WhitelistedIps.txt to the root of your Umbraco project.

Add an IP to the whitelist txt file

IP Addresses must be line separated and to add a comment use the #.

192.168.1.1 
192.168.1.2 #John
192.168.1.3
::1 
192.168.1.4 #Hank  

Features

  • Global dashboard for listing all whitelisted IP addresses.
  • Package handles IP addresses added manually by a user with admin rights and IP addresses added to the WhitelistedIps.txt.
  • logBlockedIP enables you to see all blocked IP addresses in the Umbraco log.
  • Use as wildcard to add a range of IP addresses e.g. "192.168.1."
  • Include or exclude paths from being blocked.

Contribution guidelines

To raise a new bug, create an issue on the GitHub repository. To fix a bug or add new features, fork the repository and send a pull request with your changes. Feel free to add ideas to the repository's issues list if you would like to discuss anything related to the library.

Who do I talk to?

This project is maintained by Rutger Dijkstra and contributors. If you have any questions about the project please raise a issue on GitHub.

Product Compatible and additional computed target framework versions.
.NET net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
14.1.2 107 9/4/2024
13.0.0 247 6/10/2024
13.0.0-alpha 84 6/10/2024
12.0.1.1 288 7/25/2023
12.0.1 191 7/20/2023 12.0.1 is deprecated because it has critical bugs.
11.3.1 1,135 5/5/2023
10.4.0.1 408 1/20/2023
10.4.0 282 1/19/2023
10.3.2.2 344 11/9/2022
10.3.2.1 360 11/4/2022
10.3.2 367 11/4/2022
10.2.2.4-alpha 158 11/4/2022
10.2.2.3-alpha 280 10/20/2022 10.2.2.3-alpha is deprecated because it has critical bugs.
10.2.1 429 10/11/2022
10.2.0 401 10/11/2022