Cleanup unknown user for audit events

This commit is contained in:
Stephan
2019-05-28 10:26:30 +02:00
parent ea4f1a0f56
commit 3a813d2d77
3 changed files with 12 additions and 4 deletions

View File

@@ -44,20 +44,22 @@ namespace Umbraco.Core.Compose
public void Terminate()
{ }
internal static IUser UnknownUser => new User { Id = Constants.Security.UnknownUserId, Name = Constants.Security.UnknownUserName, Email = "" };
private IUser CurrentPerformingUser
{
get
{
var identity = Thread.CurrentPrincipal?.GetUmbracoIdentity();
var user = identity == null ? null : _userService.GetUserById(Convert.ToInt32(identity.Id));
return user ?? new User { Id = 0, Name = "SYSTEM", Email = "" };
return user ?? UnknownUser;
}
}
private IUser GetPerformingUser(int userId)
{
var found = userId >= 0 ? _userService.GetUserById(userId) : null;
return found ?? new User {Id = 0, Name = "SYSTEM", Email = ""};
return found ?? UnknownUser;
}
private string PerformingIp

View File

@@ -15,13 +15,18 @@ namespace Umbraco.Core
public const int SuperUserId = -1;
/// <summary>
/// The id for the 'unknown' user
/// The id for the 'unknown' user.
/// </summary>
/// <remarks>
/// This is a user row that exists in the DB only for referential integrity but the user is never returned from any of the services
/// </remarks>
public const int UnknownUserId = 0;
/// <summary>
/// The name of the 'unknown' user.
/// </summary>
public const string UnknownUserName = "SYTEM";
public const string AdminGroupAlias = "admin";
public const string SensitiveDataGroupAlias = "sensitiveData";
public const string TranslatorGroupAlias = "translator";

View File

@@ -1,5 +1,6 @@
using System;
using Umbraco.Core;
using Umbraco.Core.Compose;
using Umbraco.Core.Composing;
using Umbraco.Core.Models.Membership;
using Umbraco.Core.Services;
@@ -39,7 +40,7 @@ namespace Umbraco.Web.Compose
private IUser GetPerformingUser(int userId)
{
var found = userId >= 0 ? _userService.GetUserById(userId) : null;
return found ?? new User { Id = 0, Name = "SYSTEM", Email = "" };
return found ?? AuditEventsComponent.UnknownUser;
}
private static string FormatEmail(IMembershipUser user)