diff --git a/src/Umbraco.Infrastructure/Compose/AuditEventsComponent.cs b/src/Umbraco.Infrastructure/Compose/AuditEventsComponent.cs index f76d3b3a91..8dc25d85eb 100644 --- a/src/Umbraco.Infrastructure/Compose/AuditEventsComponent.cs +++ b/src/Umbraco.Infrastructure/Compose/AuditEventsComponent.cs @@ -26,14 +26,22 @@ namespace Umbraco.Core.Compose private readonly IUserService _userService; private readonly IEntityService _entityService; private readonly IIpResolver _ipResolver; + private readonly IBackOfficeSecurityAccessor _backOfficeSecurityAccessor; private readonly GlobalSettings _globalSettings; - public AuditEventsComponent(IAuditService auditService, IUserService userService, IEntityService entityService, IIpResolver ipResolver, IOptions globalSettings) + public AuditEventsComponent( + IAuditService auditService, + IUserService userService, + IEntityService entityService, + IIpResolver ipResolver, + IOptions globalSettings, + IBackOfficeSecurityAccessor backOfficeSecurityAccessor) { _auditService = auditService; _userService = userService; _entityService = entityService; _ipResolver = ipResolver; + _backOfficeSecurityAccessor = backOfficeSecurityAccessor; _globalSettings = globalSettings.Value; } @@ -73,8 +81,8 @@ namespace Umbraco.Core.Compose { get { - var identity = Thread.CurrentPrincipal?.GetUmbracoIdentity(); - var user = identity == null ? null : _userService.GetUserById(Convert.ToInt32(identity.GetId())); + var identity = _backOfficeSecurityAccessor.BackOfficeSecurity.CurrentUser; + var user = identity == null ? null : _userService.GetUserById(Convert.ToInt32(identity.Id)); return user ?? UnknownUser(_globalSettings); } } diff --git a/src/Umbraco.Web.Common/Security/MemberManager.cs b/src/Umbraco.Web.Common/Security/MemberManager.cs index 386b1ba231..00bdcbd436 100644 --- a/src/Umbraco.Web.Common/Security/MemberManager.cs +++ b/src/Umbraco.Web.Common/Security/MemberManager.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Security.Claims; using System.Security.Principal; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Identity; @@ -39,7 +40,7 @@ namespace Umbraco.Web.Common.Security private string GetCurrentUserId(IPrincipal currentUser) { - UmbracoBackOfficeIdentity umbIdentity = currentUser?.GetUmbracoIdentity(); + ClaimsIdentity umbIdentity = currentUser?.GetUmbracoIdentity(); var currentUserId = umbIdentity?.GetUserId() ?? Cms.Core.Constants.Security.SuperUserIdAsString; return currentUserId; }