Moriyama.RequestProtect.Umbraco
1.1.0
Prefix Reserved
dotnet add package Moriyama.RequestProtect.Umbraco --version 1.1.0
NuGet\Install-Package Moriyama.RequestProtect.Umbraco -Version 1.1.0
<PackageReference Include="Moriyama.RequestProtect.Umbraco" Version="1.1.0" />
<PackageVersion Include="Moriyama.RequestProtect.Umbraco" Version="1.1.0" />
<PackageReference Include="Moriyama.RequestProtect.Umbraco" />
paket add Moriyama.RequestProtect.Umbraco --version 1.1.0
#r "nuget: Moriyama.RequestProtect.Umbraco, 1.1.0"
#:package Moriyama.RequestProtect.Umbraco@1.1.0
#addin nuget:?package=Moriyama.RequestProtect.Umbraco&version=1.1.0
#tool nuget:?package=Moriyama.RequestProtect.Umbraco&version=1.1.0
Moriyama.RequestProtect.Umbraco
Seamlessly integrate request protection into your Umbraco website. This package provides a simple way to protect your Umbraco website using IP whitelisting, URL pattern matching, and query string authentication.
Features
- 🔒 Protect your Umbraco backoffice and content
- 🌐 IP whitelist specific sections of your site, like /preview/
- 📨 Use Header authorisation to allow third party systems/other websites to bypass blocks
- 🔑 Enable preview links with secure query string authentication
- 🎯 Pattern matching for Umbraco URLs and routes
- 🍪 Automatic cookie-based authentication after validation
- ⚙️ Easy configuration through appsettings.json
- 📝 Integration with Umbraco's logging
Installation
dotnet add package Moriyama.RequestProtect.Umbraco
Quick Start
- Add the following to your
appsettings.json
:
{
"MYA":
{
"RP": {
"Enabled": true,
"QueryKey": "auth",
"Code": "your_secret_code",
"Rules": {
"IPWhitelist": ["127.0.0.1"],
"AuthRules": [
{
"Pattern": "/preview/*",
"AppliesTo": "Path",
"RequiresQueryString": true
}
]
}
}
}
}
- The package will automatically register itself with Umbraco's composition engine. No additional code is required!
Common Use Cases
Protecting Preview URLs
{
"MYA":
{
"RP": {
"Enabled": true,
"QueryKey": "preview",
"Code": "your_secret_code",
"Rules": {
"AuthRules": [
{
"Pattern": "/preview/*",
"AppliesTo": "Path",
"RequiresQueryString": true
}
]
}
}
}
}
Protecting Staging Environments
{
"MYA":
{
"RP": {
"Enabled": true,
"Rules": {
"IPWhitelist": [
"office.ip.address",
"vpn.ip.address"
],
"AuthRules": [
{
"Pattern": "staging.website.com",
"AppliesTo": "Host"
}
]
}
}
}
}
Protecting Umbraco Backoffice
{
"MYA":
{
"RP": {
"Enabled": true,
"Rules": {
"IPWhitelist": ["office.ip.range.*"],
"AuthRules": [
{
"Pattern": "/umbraco/*",
"AppliesTo": "Path"
}
]
}
}
}
}
Documentation
For complete documentation of the core package features, please visit our GitHub Repository.
Support
If you encounter any issues or need support, please create an issue in our GitHub Repository.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. 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. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- Moriyama.RequestProtect (>= 1.1.0)
- Umbraco.Cms.Core (>= 13.9.0 && < 16.0.0)
- Umbraco.Cms.Web.Common (>= 13.9.0 && < 16.0.0)
-
net9.0
- Moriyama.RequestProtect (>= 1.1.0)
- Umbraco.Cms.Core (>= 16.0.0 && < 17.0.0)
- Umbraco.Cms.Web.Common (>= 16.0.0 && < 17.0.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Moriyama.RequestProtect.Umbraco:
Package | Downloads |
---|---|
Moriyama.RequestProtect.Umbraco.Admin
Umbraco Backoffice UI integration for Moriyama.RequestProtect - making it easy to see your protection configuration. |
GitHub repositories
This package is not used by any popular GitHub repositories.