diff --git a/src/Umbraco.Web.BackOffice/Controllers/BackOfficeNotificationsController.cs b/src/Umbraco.Web.BackOffice/Controllers/BackOfficeNotificationsController.cs
index c5ca1d0815..6bb6e87a5e 100644
--- a/src/Umbraco.Web.BackOffice/Controllers/BackOfficeNotificationsController.cs
+++ b/src/Umbraco.Web.BackOffice/Controllers/BackOfficeNotificationsController.cs
@@ -9,7 +9,7 @@ namespace Umbraco.Web.BackOffice.Controllers
/// currently in the request.
///
[PrefixlessBodyModelValidator]
- [AppendCurrentEventMessagesAttribute]
+ [AppendCurrentEventMessages]
public abstract class BackOfficeNotificationsController : UmbracoAuthorizedJsonController
{
}
diff --git a/src/Umbraco.Web.BackOffice/Controllers/CodeFileController.cs b/src/Umbraco.Web.BackOffice/Controllers/CodeFileController.cs
index 439ae2e79c..621f3a0e78 100644
--- a/src/Umbraco.Web.BackOffice/Controllers/CodeFileController.cs
+++ b/src/Umbraco.Web.BackOffice/Controllers/CodeFileController.cs
@@ -31,7 +31,7 @@ namespace Umbraco.Web.BackOffice.Controllers
// ref: https://www.exceptionnotfound.net/the-asp-net-web-api-exception-handling-pipeline-a-guided-tour/
[PluginController(Constants.Web.Mvc.BackOfficeApiArea)]
//[PrefixlessBodyModelValidator]
- [UmbracoApplicationAuthorizeAttribute(Constants.Applications.Settings)]
+ [UmbracoApplicationAuthorize(Constants.Applications.Settings)]
public class CodeFileController : BackOfficeNotificationsController
{
private readonly IIOHelper _ioHelper;
diff --git a/src/Umbraco.Web.BackOffice/Controllers/ContentController.cs b/src/Umbraco.Web.BackOffice/Controllers/ContentController.cs
index 1335ee049d..231b8d9a5e 100644
--- a/src/Umbraco.Web.BackOffice/Controllers/ContentController.cs
+++ b/src/Umbraco.Web.BackOffice/Controllers/ContentController.cs
@@ -48,7 +48,7 @@ namespace Umbraco.Web.Editors
/// This controller is decorated with the UmbracoApplicationAuthorizeAttribute which means that any user requesting
/// access to ALL of the methods on this controller will need access to the content application.
///
- [PluginController("UmbracoApi")]
+ [PluginController(Constants.Web.Mvc.BackOfficeApiArea)]
[UmbracoApplicationAuthorize(Constants.Applications.Content)]
public class ContentController : ContentControllerBase
{
diff --git a/src/Umbraco.Web.BackOffice/Controllers/ContentTypeController.cs b/src/Umbraco.Web.BackOffice/Controllers/ContentTypeController.cs
index 936ce02ee5..444667b591 100644
--- a/src/Umbraco.Web.BackOffice/Controllers/ContentTypeController.cs
+++ b/src/Umbraco.Web.BackOffice/Controllers/ContentTypeController.cs
@@ -50,7 +50,7 @@ namespace Umbraco.Web.BackOffice.Controllers
///
/// An API controller used for dealing with content types
///
- [PluginController("UmbracoApi")]
+ [PluginController(Constants.Web.Mvc.BackOfficeApiArea)]
[UmbracoTreeAuthorize(Constants.Trees.DocumentTypes)]
public class ContentTypeController : ContentTypeControllerBase
{
diff --git a/src/Umbraco.Web.BackOffice/Controllers/ContentTypeControllerBase.cs b/src/Umbraco.Web.BackOffice/Controllers/ContentTypeControllerBase.cs
index 5357ee3ac3..969400e213 100644
--- a/src/Umbraco.Web.BackOffice/Controllers/ContentTypeControllerBase.cs
+++ b/src/Umbraco.Web.BackOffice/Controllers/ContentTypeControllerBase.cs
@@ -25,7 +25,7 @@ namespace Umbraco.Web.BackOffice.Controllers
///
/// Am abstract API controller providing functionality used for dealing with content and media types
///
- [PluginController("UmbracoApi")]
+ [PluginController(Constants.Web.Mvc.BackOfficeApiArea)]
//[PrefixlessBodyModelValidator] //TODO reintroduce
public abstract class ContentTypeControllerBase : UmbracoAuthorizedJsonController
where TContentType : class, IContentTypeComposition
diff --git a/src/Umbraco.Web.BackOffice/Controllers/CurrentUserController.cs b/src/Umbraco.Web.BackOffice/Controllers/CurrentUserController.cs
index 617a715922..69b566d0cd 100644
--- a/src/Umbraco.Web.BackOffice/Controllers/CurrentUserController.cs
+++ b/src/Umbraco.Web.BackOffice/Controllers/CurrentUserController.cs
@@ -33,7 +33,7 @@ namespace Umbraco.Web.BackOffice.Controllers
///
/// Controller to back the User.Resource service, used for fetching user data when already authenticated. user.service is currently used for handling authentication
///
- [PluginController("UmbracoApi")]
+ [PluginController(Constants.Web.Mvc.BackOfficeApiArea)]
public class CurrentUserController : UmbracoAuthorizedJsonController
{
private readonly IMediaFileSystem _mediaFileSystem;
diff --git a/src/Umbraco.Web.BackOffice/Controllers/DataTypeController.cs b/src/Umbraco.Web.BackOffice/Controllers/DataTypeController.cs
index bbbea978ba..194029db4b 100644
--- a/src/Umbraco.Web.BackOffice/Controllers/DataTypeController.cs
+++ b/src/Umbraco.Web.BackOffice/Controllers/DataTypeController.cs
@@ -29,7 +29,7 @@ namespace Umbraco.Web.BackOffice.Controllers
/// Content Types, Member Types or Media Types ... and of course to Data Types
///
[PluginController(Constants.Web.Mvc.BackOfficeApiArea)]
- [UmbracoTreeAuthorizeAttribute(Constants.Trees.DataTypes, Constants.Trees.DocumentTypes, Constants.Trees.MediaTypes, Constants.Trees.MemberTypes)]
+ [UmbracoTreeAuthorize(Constants.Trees.DataTypes, Constants.Trees.DocumentTypes, Constants.Trees.MediaTypes, Constants.Trees.MemberTypes)]
public class DataTypeController : BackOfficeNotificationsController
{
private readonly PropertyEditorCollection _propertyEditors;
@@ -425,7 +425,7 @@ namespace Umbraco.Web.BackOffice.Controllers
///
/// Permission is granted to this method if the user has access to any of these sections: Content, media, settings, developer, members
///
- [UmbracoTreeAuthorizeAttribute(Constants.Applications.Content, Constants.Applications.Media, Constants.Applications.Members,
+ [UmbracoTreeAuthorize(Constants.Applications.Content, Constants.Applications.Media, Constants.Applications.Members,
Constants.Applications.Settings, Constants.Applications.Packages)]
public IDictionary> GetGroupedDataTypes()
{
@@ -457,7 +457,7 @@ namespace Umbraco.Web.BackOffice.Controllers
///
/// Permission is granted to this method if the user has access to any of these sections: Content, media, settings, developer, members
///
- [UmbracoTreeAuthorizeAttribute(Constants.Applications.Content, Constants.Applications.Media, Constants.Applications.Members,
+ [UmbracoTreeAuthorize(Constants.Applications.Content, Constants.Applications.Media, Constants.Applications.Members,
Constants.Applications.Settings, Constants.Applications.Packages)]
public IDictionary> GetGroupedPropertyEditors()
@@ -490,7 +490,7 @@ namespace Umbraco.Web.BackOffice.Controllers
///
/// Permission is granted to this method if the user has access to any of these sections: Content, media, settings, developer, members
///
- [UmbracoTreeAuthorizeAttribute(Constants.Applications.Content, Constants.Applications.Media, Constants.Applications.Members,
+ [UmbracoTreeAuthorize(Constants.Applications.Content, Constants.Applications.Media, Constants.Applications.Members,
Constants.Applications.Settings, Constants.Applications.Packages)]
public IEnumerable GetAllPropertyEditors()
diff --git a/src/Umbraco.Web.BackOffice/Controllers/EntityController.cs b/src/Umbraco.Web.BackOffice/Controllers/EntityController.cs
index 05c8b3a213..433cf6f345 100644
--- a/src/Umbraco.Web.BackOffice/Controllers/EntityController.cs
+++ b/src/Umbraco.Web.BackOffice/Controllers/EntityController.cs
@@ -44,7 +44,7 @@ namespace Umbraco.Web.BackOffice.Controllers
///
/// Some objects such as macros are not based on CMSNode
///
- [PluginController("UmbracoApi")]
+ [PluginController(Constants.Web.Mvc.BackOfficeApiArea)]
public class EntityController : UmbracoAuthorizedJsonController
{
private readonly ITreeService _treeService;
diff --git a/src/Umbraco.Web.BackOffice/Controllers/HelpController.cs b/src/Umbraco.Web.BackOffice/Controllers/HelpController.cs
index fe055b5270..24ec184519 100644
--- a/src/Umbraco.Web.BackOffice/Controllers/HelpController.cs
+++ b/src/Umbraco.Web.BackOffice/Controllers/HelpController.cs
@@ -3,11 +3,14 @@ using System.Collections.Generic;
using System.Net.Http;
using System.Runtime.Serialization;
using System.Threading.Tasks;
+using Umbraco.Core;
using Umbraco.Core.Logging;
+using Umbraco.Web.Common.Attributes;
using Umbraco.Web.Editors;
namespace Umbraco.Web.BackOffice.Controllers
{
+ [PluginController(Constants.Web.Mvc.BackOfficeApiArea)]
public class HelpController : UmbracoAuthorizedJsonController
{
private readonly ILogger _logger;
diff --git a/src/Umbraco.Web.BackOffice/Controllers/LanguageController.cs b/src/Umbraco.Web.BackOffice/Controllers/LanguageController.cs
index f2cbe571db..14667c1fe5 100644
--- a/src/Umbraco.Web.BackOffice/Controllers/LanguageController.cs
+++ b/src/Umbraco.Web.BackOffice/Controllers/LanguageController.cs
@@ -78,7 +78,7 @@ namespace Umbraco.Web.BackOffice.Controllers
///
/// Deletes a language with a given ID
///
- [UmbracoTreeAuthorizeAttribute(Constants.Trees.Languages)]
+ [UmbracoTreeAuthorize(Constants.Trees.Languages)]
[HttpDelete]
[HttpPost]
public IActionResult DeleteLanguage(int id)
@@ -107,7 +107,7 @@ namespace Umbraco.Web.BackOffice.Controllers
///
/// Creates or saves a language
///
- [UmbracoTreeAuthorizeAttribute(Constants.Trees.Languages)]
+ [UmbracoTreeAuthorize(Constants.Trees.Languages)]
[HttpPost]
public Language SaveLanguage(Language language)
{
diff --git a/src/Umbraco.Web.BackOffice/Controllers/MacroRenderingController.cs b/src/Umbraco.Web.BackOffice/Controllers/MacroRenderingController.cs
index 15194221bd..af87b8494b 100644
--- a/src/Umbraco.Web.BackOffice/Controllers/MacroRenderingController.cs
+++ b/src/Umbraco.Web.BackOffice/Controllers/MacroRenderingController.cs
@@ -29,7 +29,7 @@ namespace Umbraco.Web.BackOffice.Controllers
/// enable this for webapi controllers, however since this controller is used to render macro content and macros can access
/// Session, we don't want it to throw null reference exceptions.
///
- [PluginController("UmbracoApi")]
+ [PluginController(Constants.Web.Mvc.BackOfficeApiArea)]
public class MacroRenderingController : UmbracoAuthorizedJsonController
{
private readonly IMacroService _macroService;
diff --git a/src/Umbraco.Web.BackOffice/Controllers/MacrosController.cs b/src/Umbraco.Web.BackOffice/Controllers/MacrosController.cs
index 720b01acd9..cf951a57c3 100644
--- a/src/Umbraco.Web.BackOffice/Controllers/MacrosController.cs
+++ b/src/Umbraco.Web.BackOffice/Controllers/MacrosController.cs
@@ -25,7 +25,7 @@ namespace Umbraco.Web.BackOffice.Controllers
///
/// The API controller used for editing dictionary items
///
- [PluginController("UmbracoApi")]
+ [PluginController(Constants.Web.Mvc.BackOfficeApiArea)]
[UmbracoTreeAuthorize(Constants.Trees.Macros)]
public class MacrosController : BackOfficeNotificationsController
{
diff --git a/src/Umbraco.Web.BackOffice/Controllers/MediaController.cs b/src/Umbraco.Web.BackOffice/Controllers/MediaController.cs
index c641e78c0d..6bb68248b1 100644
--- a/src/Umbraco.Web.BackOffice/Controllers/MediaController.cs
+++ b/src/Umbraco.Web.BackOffice/Controllers/MediaController.cs
@@ -47,7 +47,7 @@ namespace Umbraco.Web.BackOffice.Controllers
/// This controller is decorated with the UmbracoApplicationAuthorizeAttribute which means that any user requesting
/// access to ALL of the methods on this controller will need access to the media application.
///
- [PluginController("UmbracoApi")]
+ [PluginController(Constants.Web.Mvc.BackOfficeApiArea)]
[UmbracoApplicationAuthorize(Constants.Applications.Media)]
public class MediaController : ContentControllerBase
{
diff --git a/src/Umbraco.Web.BackOffice/Controllers/MediaTypeController.cs b/src/Umbraco.Web.BackOffice/Controllers/MediaTypeController.cs
index bed8ae3183..d030d03cf9 100644
--- a/src/Umbraco.Web.BackOffice/Controllers/MediaTypeController.cs
+++ b/src/Umbraco.Web.BackOffice/Controllers/MediaTypeController.cs
@@ -25,7 +25,7 @@ namespace Umbraco.Web.BackOffice.Controllers
///
/// An API controller used for dealing with content types
///
- [PluginController("UmbracoApi")]
+ [PluginController(Constants.Web.Mvc.BackOfficeApiArea)]
[UmbracoTreeAuthorize(Constants.Trees.MediaTypes)]
public class MediaTypeController : ContentTypeControllerBase
{
diff --git a/src/Umbraco.Web.BackOffice/Controllers/MemberController.cs b/src/Umbraco.Web.BackOffice/Controllers/MemberController.cs
index 0680041c42..9627c96e24 100644
--- a/src/Umbraco.Web.BackOffice/Controllers/MemberController.cs
+++ b/src/Umbraco.Web.BackOffice/Controllers/MemberController.cs
@@ -40,7 +40,7 @@ namespace Umbraco.Web.BackOffice.Controllers
/// This controller is decorated with the UmbracoApplicationAuthorizeAttribute which means that any user requesting
/// access to ALL of the methods on this controller will need access to the member application.
///
- [PluginController("UmbracoApi")]
+ [PluginController(Constants.Web.Mvc.BackOfficeApiArea)]
[UmbracoApplicationAuthorize(Constants.Applications.Members)]
[OutgoingNoHyphenGuidFormat]
public class MemberController : ContentControllerBase
diff --git a/src/Umbraco.Web.BackOffice/Controllers/MemberGroupController.cs b/src/Umbraco.Web.BackOffice/Controllers/MemberGroupController.cs
index 7ca81333d3..153990937d 100644
--- a/src/Umbraco.Web.BackOffice/Controllers/MemberGroupController.cs
+++ b/src/Umbraco.Web.BackOffice/Controllers/MemberGroupController.cs
@@ -17,7 +17,7 @@ namespace Umbraco.Web.BackOffice.Controllers
///
/// An API controller used for dealing with member groups
///
- [PluginController("UmbracoApi")]
+ [PluginController(Constants.Web.Mvc.BackOfficeApiArea)]
[UmbracoTreeAuthorize(Constants.Trees.MemberGroups)]
public class MemberGroupController : UmbracoAuthorizedJsonController
{
diff --git a/src/Umbraco.Web.BackOffice/Controllers/MemberTypeController.cs b/src/Umbraco.Web.BackOffice/Controllers/MemberTypeController.cs
index c3f0a87dde..240a2e0f5b 100644
--- a/src/Umbraco.Web.BackOffice/Controllers/MemberTypeController.cs
+++ b/src/Umbraco.Web.BackOffice/Controllers/MemberTypeController.cs
@@ -28,7 +28,7 @@ namespace Umbraco.Web.Editors
///
/// An API controller used for dealing with member types
///
- [PluginController("UmbracoApi")]
+ [PluginController(Constants.Web.Mvc.BackOfficeApiArea)]
[UmbracoTreeAuthorize(new string[] { Constants.Trees.MemberTypes, Constants.Trees.Members})]
public class MemberTypeController : ContentTypeControllerBase
{
diff --git a/src/Umbraco.Web.BackOffice/Controllers/RelationTypeController.cs b/src/Umbraco.Web.BackOffice/Controllers/RelationTypeController.cs
index 31c77ce0a4..ef7fe94e77 100644
--- a/src/Umbraco.Web.BackOffice/Controllers/RelationTypeController.cs
+++ b/src/Umbraco.Web.BackOffice/Controllers/RelationTypeController.cs
@@ -23,7 +23,7 @@ namespace Umbraco.Web.BackOffice.Controllers
/// The API controller for editing relation types.
///
[PluginController(Constants.Web.Mvc.BackOfficeApiArea)]
- [UmbracoTreeAuthorizeAttribute(Constants.Trees.RelationTypes)]
+ [UmbracoTreeAuthorize(Constants.Trees.RelationTypes)]
public class RelationTypeController : BackOfficeNotificationsController
{
private readonly ILogger _logger;
diff --git a/src/Umbraco.Web.BackOffice/Controllers/TemplateController.cs b/src/Umbraco.Web.BackOffice/Controllers/TemplateController.cs
index 0c1798fa8d..b99ebce7a7 100644
--- a/src/Umbraco.Web.BackOffice/Controllers/TemplateController.cs
+++ b/src/Umbraco.Web.BackOffice/Controllers/TemplateController.cs
@@ -17,7 +17,7 @@ using Constants = Umbraco.Core.Constants;
namespace Umbraco.Web.BackOffice.Controllers
{
[PluginController(Constants.Web.Mvc.BackOfficeApiArea)]
- [UmbracoTreeAuthorizeAttribute(Constants.Trees.Templates)]
+ [UmbracoTreeAuthorize(Constants.Trees.Templates)]
public class TemplateController : BackOfficeNotificationsController
{
private readonly IFileService _fileService;
diff --git a/src/Umbraco.Web.BackOffice/Controllers/TemplateQueryController.cs b/src/Umbraco.Web.BackOffice/Controllers/TemplateQueryController.cs
index 10686f0db5..e0808682d5 100644
--- a/src/Umbraco.Web.BackOffice/Controllers/TemplateQueryController.cs
+++ b/src/Umbraco.Web.BackOffice/Controllers/TemplateQueryController.cs
@@ -15,7 +15,7 @@ namespace Umbraco.Web.BackOffice.Controllers
///
/// The API controller used for building content queries within the template
///
- [PluginController("UmbracoApi")]
+ [PluginController(Constants.Web.Mvc.BackOfficeApiArea)]
[JsonCamelCaseFormatter]
public class TemplateQueryController : UmbracoAuthorizedJsonController
{
diff --git a/src/Umbraco.Web.BackOffice/Controllers/UserGroupsController.cs b/src/Umbraco.Web.BackOffice/Controllers/UserGroupsController.cs
index deb9f7fad1..44b675771b 100644
--- a/src/Umbraco.Web.BackOffice/Controllers/UserGroupsController.cs
+++ b/src/Umbraco.Web.BackOffice/Controllers/UserGroupsController.cs
@@ -18,7 +18,7 @@ using Constants = Umbraco.Core.Constants;
namespace Umbraco.Web.BackOffice.Controllers
{
- [PluginController("UmbracoApi")]
+ [PluginController(Constants.Web.Mvc.BackOfficeApiArea)]
[UmbracoApplicationAuthorize(Constants.Applications.Users)]
[PrefixlessBodyModelValidator]
public class UserGroupsController : UmbracoAuthorizedJsonController
diff --git a/src/Umbraco.Web.BackOffice/Controllers/UsersController.cs b/src/Umbraco.Web.BackOffice/Controllers/UsersController.cs
index 2ef261ff1f..fff609322c 100644
--- a/src/Umbraco.Web.BackOffice/Controllers/UsersController.cs
+++ b/src/Umbraco.Web.BackOffice/Controllers/UsersController.cs
@@ -43,7 +43,7 @@ using Umbraco.Web.Security;
namespace Umbraco.Web.BackOffice.Controllers
{
- [PluginController("UmbracoApi")]
+ [PluginController(Constants.Web.Mvc.BackOfficeApiArea)]
[UmbracoApplicationAuthorize(Constants.Applications.Users)]
[PrefixlessBodyModelValidator]
[IsCurrentUserModelFilter]
diff --git a/src/Umbraco.Web.BackOffice/HealthCheck/HealthCheckController.cs b/src/Umbraco.Web.BackOffice/HealthCheck/HealthCheckController.cs
index 92d8f1f910..6b8eada506 100644
--- a/src/Umbraco.Web.BackOffice/HealthCheck/HealthCheckController.cs
+++ b/src/Umbraco.Web.BackOffice/HealthCheck/HealthCheckController.cs
@@ -7,13 +7,15 @@ using Umbraco.Core.Logging;
using Umbraco.Core.Configuration.HealthChecks;
using Umbraco.Web.BackOffice.Filters;
using Umbraco.Web.HealthCheck;
+using Umbraco.Web.Common.Attributes;
namespace Umbraco.Web.BackOffice.Controllers
{
///
/// The API controller used to display the health check info and execute any actions
///
- [UmbracoApplicationAuthorizeAttribute(Constants.Applications.Settings)]
+ [PluginController(Constants.Web.Mvc.BackOfficeApiArea)]
+ [UmbracoApplicationAuthorize(Constants.Applications.Settings)]
public class HealthCheckController : UmbracoAuthorizedJsonController
{
private readonly HealthCheckCollection _checks;
diff --git a/src/Umbraco.Web.BackOffice/Profiling/WebProfilingController.cs b/src/Umbraco.Web.BackOffice/Profiling/WebProfilingController.cs
index b5824f73a4..101e00d752 100644
--- a/src/Umbraco.Web.BackOffice/Profiling/WebProfilingController.cs
+++ b/src/Umbraco.Web.BackOffice/Profiling/WebProfilingController.cs
@@ -2,15 +2,17 @@
using Umbraco.Core.Hosting;
using Umbraco.Web.BackOffice.Filters;
using Umbraco.Web.BackOffice.Controllers;
-
+using Umbraco.Web.Common.Attributes;
+using Umbraco.Web.Common.Controllers;
namespace Umbraco.Web.BackOffice.Profiling
{
///
/// The API controller used to display the state of the web profiler
///
- [UmbracoApplicationAuthorizeAttribute(Constants.Applications.Settings)]
- public class WebProfilingController : UmbracoAuthorizedJsonController
+ [PluginController(Constants.Web.Mvc.BackOfficeApiArea)]
+ [UmbracoApplicationAuthorize(Constants.Applications.Settings)]
+ public class WebProfilingController : UmbracoAuthorizedJsonController
{
private readonly IHostingEnvironment _hosting;
diff --git a/src/Umbraco.Web.UI.NetCore/appsettings.json b/src/Umbraco.Web.UI.NetCore/appsettings.json
index 8a1ccba072..a03f805d08 100644
--- a/src/Umbraco.Web.UI.NetCore/appsettings.json
+++ b/src/Umbraco.Web.UI.NetCore/appsettings.json
@@ -1,123 +1,130 @@
{
- "ConnectionStrings": {
- "umbracoDbDSN": ""
- },
- "Logging": {
- "LogLevel": {
- "Default": "Information",
- "Microsoft": "Warning",
- "Microsoft.Hosting.Lifetime": "Information"
- }
- },
- "AllowedHosts": "*",
- "Umbraco": {
- "CMS": {
- "Hosting": {
- "Debug": true
- },
- "RuntimeMinification": {
- "dataFolder": "App_Data/TEMP/Smidge",
- "version": "637212411755687059"
- },
- "Imaging": {
- "Resize": {
- "MaxWidth": 5000,
- "MaxHeight": 5000
- },
- "Cache": {
- "Folder": "../App_Data/Cache",
- "MaxBrowserCacheDays": 7,
- "MaxCacheDays": 365,
- "CachedNameLength": 8
+ "ConnectionStrings": {
+ "umbracoDbDSN": "server=teamcanada3;database=v9;user id=sa;password='test'"
+ },
+ "Logging": {
+ "LogLevel": {
+ "Default": "Information",
+ "Microsoft": "Warning",
+ "Microsoft.Hosting.Lifetime": "Information"
}
- },
- "HealthChecks": {
- "DisabledChecks": [
- {
- "id": "1B5D221B-CE99-4193-97CB-5F3261EC73DF",
- "disabledBy": 1,
- "disabledOn": "2020-03-15 19:19:10"
- }
- ],
- "NotificationSettings": {
- "Enabled": true,
- "FirstRunTime": "",
- "PeriodInHours": 24,
- "NotificationMethods": {
- "Email": {
- "Enabled": true,
- "Verbosity": "Summary",
- "Settings": {
- "RecipientEmail": ""
- }
+ },
+ "AllowedHosts": "*",
+ "Umbraco": {
+ "CMS": {
+ "Global": {
+ "TimeOutInMinutes": 2
+ },
+ "Hosting": {
+ "Debug": true
+ },
+ "RuntimeMinification": {
+ "dataFolder": "App_Data/TEMP/Smidge",
+ "version": "637212411755687059"
+ },
+ "Imaging": {
+ "Resize": {
+ "MaxWidth": 5000,
+ "MaxHeight": 5000
+ },
+ "Cache": {
+ "Folder": "../App_Data/Cache",
+ "MaxBrowserCacheDays": 7,
+ "MaxCacheDays": 365,
+ "CachedNameLength": 8
+ }
+ },
+ "HealthChecks": {
+ "DisabledChecks": [
+ {
+ "id": "1B5D221B-CE99-4193-97CB-5F3261EC73DF",
+ "disabledBy": 1,
+ "disabledOn": "2020-03-15 19:19:10"
+ }
+ ],
+ "NotificationSettings": {
+ "Enabled": true,
+ "FirstRunTime": "",
+ "PeriodInHours": 24,
+ "NotificationMethods": {
+ "Email": {
+ "Enabled": true,
+ "Verbosity": "Summary",
+ "Settings": {
+ "RecipientEmail": ""
+ }
+ }
+ },
+ "DisabledChecks": [
+ {
+ "id": "1B5D221B-CE99-4193-97CB-5F3261EC73DF",
+ "disabledBy": 1,
+ "disabledOn": "2020-03-15 19:19:10"
+ }
+ ]
+ }
+ },
+ "Tours": {
+ "EnableTours": true
+ },
+ "Core": {
+ "Debug": {}
+ },
+ "Content": {
+ "Errors": {
+ "Error404": {
+ "default": "1047",
+ "en-US": "$site/error [@name = 'error']",
+ "en-UK": "8560867F-B88F-4C74-A9A4-679D8E5B3BFC"
+ }
+ },
+ "LoginBackgroundImage": "assets/img/login.jpg"
+ },
+ "Security": {
+ "KeepUserLoggedIn": true,
+
+ },
+ "RequestHandler": {
+ "AddTrailingSlash": true,
+ "CharCollection": [
+ {
+ "Char": " ",
+ "Replacement": "-"
+ },
+ {
+ "Char": "\"",
+ "Replacement": ""
+ },
+ {
+ "Char": "'",
+ "Replacement": ""
+ },
+ {
+ "Char": "%",
+ "Replacement": ""
+ },
+ {
+ "Char": ".",
+ "Replacement": ""
+ },
+ {
+ "Char": ";",
+ "Replacement": ""
+ },
+ {
+ "Char": "/",
+ "Replacement": ""
+ },
+ {
+ "Char": "\\",
+ "Replacement": ""
+ },
+ {
+ "Char": ":",
+ "Replacement": ""
+ }
+ ]
}
- },
- "DisabledChecks": [
- {
- "id": "1B5D221B-CE99-4193-97CB-5F3261EC73DF",
- "disabledBy": 1,
- "disabledOn": "2020-03-15 19:19:10"
- }
- ]
}
- },
- "Tours": {
- "EnableTours": true
- },
- "Core": {
- "Debug": {}
- },
- "Content": {
- "Errors": {
- "Error404": {
- "default": "1047",
- "en-US": "$site/error [@name = 'error']",
- "en-UK": "8560867F-B88F-4C74-A9A4-679D8E5B3BFC"
- }
- },
- "LoginBackgroundImage": "assets/img/login.jpg"
- },
- "RequestHandler": {
- "AddTrailingSlash": true,
- "CharCollection": [
- {
- "Char": " ",
- "Replacement": "-"
- },
- {
- "Char": "\"",
- "Replacement": ""
- },
- {
- "Char": "'",
- "Replacement": ""
- },
- {
- "Char": "%",
- "Replacement": ""
- },
- {
- "Char": ".",
- "Replacement": ""
- },
- {
- "Char": ";",
- "Replacement": ""
- },
- {
- "Char": "/",
- "Replacement": ""
- },
- {
- "Char": "\\",
- "Replacement": ""
- },
- {
- "Char": ":",
- "Replacement": ""
- }
- ]
- }
}
- }
}
diff --git a/src/Umbraco.Web/Editors/AuthenticationController.cs b/src/Umbraco.Web/Editors/AuthenticationController.cs
index 93c9592bc6..fc5d4504bd 100644
--- a/src/Umbraco.Web/Editors/AuthenticationController.cs
+++ b/src/Umbraco.Web/Editors/AuthenticationController.cs
@@ -29,13 +29,14 @@ using Umbraco.Core.Configuration.UmbracoSettings;
using Umbraco.Core.Hosting;
using Umbraco.Extensions;
using Umbraco.Web.Routing;
+using Constants = Umbraco.Core.Constants;
namespace Umbraco.Web.Editors
{
///
/// The API controller used for editing content
///
- [PluginController("UmbracoApi")]
+ [PluginController(Constants.Web.Mvc.BackOfficeApiArea)]
[ValidationFilter]
[AngularJsonOnlyConfiguration]
[IsBackOffice]