From c8ceeb8001e73a4f5f453289e459730a7baa7008 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1ra=20El-Saig?= Date: Sun, 23 Feb 2025 14:36:56 +0100 Subject: [PATCH 01/11] Add prop and docs to AuditTrailUserEvent. --- .../AuditTrail/Models/AuditTrailUserEvent.cs | 24 +++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/src/OrchardCore.Modules/OrchardCore.Users/AuditTrail/Models/AuditTrailUserEvent.cs b/src/OrchardCore.Modules/OrchardCore.Users/AuditTrail/Models/AuditTrailUserEvent.cs index 3c5bce942a8..5af478da013 100644 --- a/src/OrchardCore.Modules/OrchardCore.Users/AuditTrail/Models/AuditTrailUserEvent.cs +++ b/src/OrchardCore.Modules/OrchardCore.Users/AuditTrail/Models/AuditTrailUserEvent.cs @@ -1,9 +1,29 @@ +using OrchardCore.Users.Models; + namespace OrchardCore.Users.AuditTrail.Models; +/// +/// Event data for an Audit Trail event related to s. +/// public class AuditTrailUserEvent { - // TODO a future version should also record the User state, enabling diff against users - public string Name { get; set; } = "User"; + /// + /// Gets the event name. + /// + public string Name => "User"; + + /// + /// Gets or sets a snapshot of the object, if the event modified it somehow. + /// + public User User { get; set; } + + /// + /// Gets or sets the related user's . + /// public string UserName { get; set; } + + /// + /// Gets or sets the related user's . + /// public string UserId { get; set; } } From 14a28e7aab0ed6db9a96d7a5c603be7d24bbf572 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1ra=20El-Saig?= Date: Sun, 23 Feb 2025 14:48:45 +0100 Subject: [PATCH 02/11] Display user snapshot as JSON. --- .../Drivers/AuditTrailUserEventDisplayDriver.cs | 1 + .../AuditTrailUserEventDetail.DetailAdmin.cshtml | 13 +++++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/OrchardCore.Modules/OrchardCore.Users/AuditTrail/Drivers/AuditTrailUserEventDisplayDriver.cs b/src/OrchardCore.Modules/OrchardCore.Users/AuditTrail/Drivers/AuditTrailUserEventDisplayDriver.cs index d2b897d43e4..ae553e0978e 100644 --- a/src/OrchardCore.Modules/OrchardCore.Users/AuditTrail/Drivers/AuditTrailUserEventDisplayDriver.cs +++ b/src/OrchardCore.Modules/OrchardCore.Users/AuditTrail/Drivers/AuditTrailUserEventDisplayDriver.cs @@ -20,6 +20,7 @@ public override Task DisplayAsync(AuditTrailEvent auditTrailEven private static void BuildViewModel(AuditTrailUserEventViewModel m, AuditTrailEvent auditTrailEvent, AuditTrailUserEvent userEvent) { m.AuditTrailEvent = auditTrailEvent; + m.UserEvent = userEvent; m.Name = userEvent.Name; m.UserId = userEvent.UserId; m.UserName = userEvent.UserName; diff --git a/src/OrchardCore.Modules/OrchardCore.Users/Views/Items/AuditTrailUserEventDetail.DetailAdmin.cshtml b/src/OrchardCore.Modules/OrchardCore.Users/Views/Items/AuditTrailUserEventDetail.DetailAdmin.cshtml index 99b15634e40..802bf5aa6f3 100644 --- a/src/OrchardCore.Modules/OrchardCore.Users/Views/Items/AuditTrailUserEventDetail.DetailAdmin.cshtml +++ b/src/OrchardCore.Modules/OrchardCore.Users/Views/Items/AuditTrailUserEventDetail.DetailAdmin.cshtml @@ -1,3 +1,5 @@ +@using System.Text.Json +@using System.Text.Json.Nodes @model AuditTrailUserEventDetailViewModel @@ -6,9 +8,16 @@ + + + + + @if (Model.UserEvent.User is { } user && JObject.FromObject(user) is { } userJson) + { - - + + + }
@T["User Id"] @Model.UserId
@T["User Name"]@Model.UserName
@T["User Name"]@Model.UserName@T["User Snapshot"]@userJson.ToJsonString(JOptions.Indented)
From af1552f9002f4f0bf3042aa9cb154360363cac39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1ra=20El-Saig?= Date: Sun, 23 Feb 2025 14:59:17 +0100 Subject: [PATCH 03/11] DRY UserEventHandler. --- .../AuditTrail/Handlers/UserEventHandler.cs | 23 ++++++++++++++----- 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/src/OrchardCore.Modules/OrchardCore.Users/AuditTrail/Handlers/UserEventHandler.cs b/src/OrchardCore.Modules/OrchardCore.Users/AuditTrail/Handlers/UserEventHandler.cs index 905cf7b0785..2b2b36a71bf 100644 --- a/src/OrchardCore.Modules/OrchardCore.Users/AuditTrail/Handlers/UserEventHandler.cs +++ b/src/OrchardCore.Modules/OrchardCore.Users/AuditTrail/Handlers/UserEventHandler.cs @@ -54,19 +54,19 @@ public Task IsLockedOutAsync(IUser user) => RecordAuditTrailEventAsync(UserAuditTrailEventConfiguration.LogInFailed, user); public Task DisabledAsync(UserContext context) - => RecordAuditTrailEventAsync(UserAuditTrailEventConfiguration.Disabled, context.User, _httpContextAccessor.HttpContext.User?.FindFirstValue(ClaimTypes.NameIdentifier), _httpContextAccessor.HttpContext.User?.Identity?.Name); + => RecordAuditTrailUserEventAsync(UserAuditTrailEventConfiguration.Disabled, context, _httpContextAccessor); public Task EnabledAsync(UserContext context) - => RecordAuditTrailEventAsync(UserAuditTrailEventConfiguration.Enabled, context.User, _httpContextAccessor.HttpContext.User?.FindFirstValue(ClaimTypes.NameIdentifier), _httpContextAccessor.HttpContext.User?.Identity?.Name); + => RecordAuditTrailUserEventAsync(UserAuditTrailEventConfiguration.Enabled, context, _httpContextAccessor); public Task CreatedAsync(UserCreateContext context) - => RecordAuditTrailEventAsync(UserAuditTrailEventConfiguration.Created, context.User, _httpContextAccessor.HttpContext.User?.FindFirstValue(ClaimTypes.NameIdentifier), _httpContextAccessor.HttpContext.User?.Identity?.Name); + => RecordAuditTrailUserEventAsync(UserAuditTrailEventConfiguration.Created, context, _httpContextAccessor); public Task UpdatedAsync(UserUpdateContext context) - => RecordAuditTrailEventAsync(UserAuditTrailEventConfiguration.Updated, context.User, _httpContextAccessor.HttpContext.User?.FindFirstValue(ClaimTypes.NameIdentifier), _httpContextAccessor.HttpContext.User?.Identity?.Name); + => RecordAuditTrailUserEventAsync(UserAuditTrailEventConfiguration.Updated, context, _httpContextAccessor); public Task DeletedAsync(UserDeleteContext context) - => RecordAuditTrailEventAsync(UserAuditTrailEventConfiguration.Deleted, context.User, _httpContextAccessor.HttpContext.User?.FindFirstValue(ClaimTypes.NameIdentifier), _httpContextAccessor.HttpContext.User?.Identity?.Name); + => RecordAuditTrailUserEventAsync(UserAuditTrailEventConfiguration.Deleted, context, _httpContextAccessor); #region Unused user events @@ -83,7 +83,11 @@ public Task DeletedAsync(UserDeleteContext context) #endregion - private async Task RecordAuditTrailEventAsync(string name, IUser user, string userIdActual = "", string userNameActual = "") + private async Task RecordAuditTrailEventAsync( + string name, + IUser user, + string userIdActual = "", + string userNameActual = "") { var userName = user.UserName; _userManager ??= _serviceProvider.GetRequiredService>(); @@ -115,4 +119,11 @@ await _auditTrailManager.RecordEventAsync( } )); } + + private Task RecordAuditTrailUserEventAsync(string name, UserContextBase context, IHttpContextAccessor accessor) + => RecordAuditTrailEventAsync( + name, + context.User, + accessor.HttpContext?.User?.FindFirstValue(ClaimTypes.NameIdentifier), + accessor.HttpContext?.User?.Identity?.Name); } From a563c0b258e67ea3f5b570384fdf83643701de59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1ra=20El-Saig?= Date: Sun, 23 Feb 2025 15:00:41 +0100 Subject: [PATCH 04/11] Create "Confirmed" event as well. --- .../OrchardCore.Users/AuditTrail/Handlers/UserEventHandler.cs | 4 +++- .../AuditTrail/Services/UserAuditTrailEventConfiguration.cs | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/OrchardCore.Modules/OrchardCore.Users/AuditTrail/Handlers/UserEventHandler.cs b/src/OrchardCore.Modules/OrchardCore.Users/AuditTrail/Handlers/UserEventHandler.cs index 2b2b36a71bf..c0da932efea 100644 --- a/src/OrchardCore.Modules/OrchardCore.Users/AuditTrail/Handlers/UserEventHandler.cs +++ b/src/OrchardCore.Modules/OrchardCore.Users/AuditTrail/Handlers/UserEventHandler.cs @@ -67,13 +67,15 @@ public Task UpdatedAsync(UserUpdateContext context) public Task DeletedAsync(UserDeleteContext context) => RecordAuditTrailUserEventAsync(UserAuditTrailEventConfiguration.Deleted, context, _httpContextAccessor); + + public Task ConfirmedAsync(UserConfirmContext context) + => RecordAuditTrailUserEventAsync(UserAuditTrailEventConfiguration.Confirmed, context, _httpContextAccessor); #region Unused user events public Task CreatingAsync(UserCreateContext context) => Task.CompletedTask; public Task UpdatingAsync(UserUpdateContext context) => Task.CompletedTask; public Task DeletingAsync(UserDeleteContext context) => Task.CompletedTask; - public Task ConfirmedAsync(UserConfirmContext context) => Task.CompletedTask; #endregion diff --git a/src/OrchardCore.Modules/OrchardCore.Users/AuditTrail/Services/UserAuditTrailEventConfiguration.cs b/src/OrchardCore.Modules/OrchardCore.Users/AuditTrail/Services/UserAuditTrailEventConfiguration.cs index 248d07c8bb7..b2d8ab9c9d0 100644 --- a/src/OrchardCore.Modules/OrchardCore.Users/AuditTrail/Services/UserAuditTrailEventConfiguration.cs +++ b/src/OrchardCore.Modules/OrchardCore.Users/AuditTrail/Services/UserAuditTrailEventConfiguration.cs @@ -15,6 +15,7 @@ public sealed class UserAuditTrailEventConfiguration : IConfigureOptions S["Disabled"], S => S["A user was disabled."], true) .WithEvent(Created, S => S["Created"], S => S["A user was created."], true) .WithEvent(Updated, S => S["Updated"], S => S["A user was updated."], true) - .WithEvent(Deleted, S => S["Deleted"], S => S["A user was deleted."], true); + .WithEvent(Deleted, S => S["Deleted"], S => S["A user was deleted."], true) + .WithEvent(Confirmed, S => S["Confirmed"], S => S["A user was confirmed."], true); } } From d03f6bf53ab8a66e929557661b190b2dc0fd9f4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1ra=20El-Saig?= Date: Sun, 23 Feb 2025 15:03:28 +0100 Subject: [PATCH 05/11] Store snapshot for user events. --- .../AuditTrail/Handlers/UserEventHandler.cs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/OrchardCore.Modules/OrchardCore.Users/AuditTrail/Handlers/UserEventHandler.cs b/src/OrchardCore.Modules/OrchardCore.Users/AuditTrail/Handlers/UserEventHandler.cs index c0da932efea..166c5323901 100644 --- a/src/OrchardCore.Modules/OrchardCore.Users/AuditTrail/Handlers/UserEventHandler.cs +++ b/src/OrchardCore.Modules/OrchardCore.Users/AuditTrail/Handlers/UserEventHandler.cs @@ -8,6 +8,7 @@ using OrchardCore.Users.AuditTrail.Services; using OrchardCore.Users.Events; using OrchardCore.Users.Handlers; +using OrchardCore.Users.Models; namespace OrchardCore.Users.AuditTrail.Handlers; @@ -89,7 +90,8 @@ private async Task RecordAuditTrailEventAsync( string name, IUser user, string userIdActual = "", - string userNameActual = "") + string userNameActual = "", + bool storeSnapshot = false) { var userName = user.UserName; _userManager ??= _serviceProvider.GetRequiredService>(); @@ -117,7 +119,8 @@ await _auditTrailManager.RecordEventAsync( new AuditTrailUserEvent { UserId = userId, - UserName = userName + UserName = userName, + User = storeSnapshot ? user as User : null, } )); } @@ -127,5 +130,6 @@ private Task RecordAuditTrailUserEventAsync(string name, UserContextBase context name, context.User, accessor.HttpContext?.User?.FindFirstValue(ClaimTypes.NameIdentifier), - accessor.HttpContext?.User?.Identity?.Name); + accessor.HttpContext?.User?.Identity?.Name, + storeSnapshot: true); } From 27a0477ba3a9e36ce803739d6531da6318f50fa1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1ra=20El-Saig?= Date: Sun, 23 Feb 2025 15:37:33 +0100 Subject: [PATCH 06/11] Fix display so it shows as block code instead of inline. --- .../Views/Items/AuditTrailUserEventDetail.DetailAdmin.cshtml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/OrchardCore.Modules/OrchardCore.Users/Views/Items/AuditTrailUserEventDetail.DetailAdmin.cshtml b/src/OrchardCore.Modules/OrchardCore.Users/Views/Items/AuditTrailUserEventDetail.DetailAdmin.cshtml index 802bf5aa6f3..631366476b6 100644 --- a/src/OrchardCore.Modules/OrchardCore.Users/Views/Items/AuditTrailUserEventDetail.DetailAdmin.cshtml +++ b/src/OrchardCore.Modules/OrchardCore.Users/Views/Items/AuditTrailUserEventDetail.DetailAdmin.cshtml @@ -16,7 +16,7 @@ { @T["User Snapshot"] - @userJson.ToJsonString(JOptions.Indented) +
@userJson.ToJsonString(JOptions.Indented)
} From 0b56a62b28b04f32c5cc3a24719a9f550320f1b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1ra=20El-Saig?= Date: Mon, 24 Feb 2025 01:38:09 +0100 Subject: [PATCH 07/11] post-merge restore UserEventHandler --- .../AuditTrail/Handlers/UserEventHandler.cs | 30 +++++++++++++++---- 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/src/OrchardCore.Modules/OrchardCore.Users/AuditTrail/Handlers/UserEventHandler.cs b/src/OrchardCore.Modules/OrchardCore.Users/AuditTrail/Handlers/UserEventHandler.cs index 5277ecfb7a5..f16879d8a1f 100644 --- a/src/OrchardCore.Modules/OrchardCore.Users/AuditTrail/Handlers/UserEventHandler.cs +++ b/src/OrchardCore.Modules/OrchardCore.Users/AuditTrail/Handlers/UserEventHandler.cs @@ -9,6 +9,7 @@ using OrchardCore.Users.AuditTrail.Services; using OrchardCore.Users.Events; using OrchardCore.Users.Handlers; +using OrchardCore.Users.Models; namespace OrchardCore.Users.AuditTrail.Handlers; @@ -59,21 +60,29 @@ public Task IsLockedOutAsync(IUser user) => RecordAuditTrailEventAsync(UserAuditTrailEventConfiguration.LogInFailed, user); public override Task DisabledAsync(UserContext context) - => RecordAuditTrailEventAsync(UserAuditTrailEventConfiguration.Disabled, context.User, GetCurrentUserId(), GetCurrentUserName()); + => RecordAuditTrailUserEventAsync(UserAuditTrailEventConfiguration.Disabled, context, _httpContextAccessor); public override Task EnabledAsync(UserContext context) - => RecordAuditTrailEventAsync(UserAuditTrailEventConfiguration.Enabled, context.User, GetCurrentUserId(), GetCurrentUserName()); + => RecordAuditTrailUserEventAsync(UserAuditTrailEventConfiguration.Enabled, context, _httpContextAccessor); public override Task CreatedAsync(UserCreateContext context) - => RecordAuditTrailEventAsync(UserAuditTrailEventConfiguration.Created, context.User, GetCurrentUserId(), GetCurrentUserName()); + => RecordAuditTrailUserEventAsync(UserAuditTrailEventConfiguration.Created, context, _httpContextAccessor); public override Task UpdatedAsync(UserUpdateContext context) - => RecordAuditTrailEventAsync(UserAuditTrailEventConfiguration.Updated, context.User, GetCurrentUserId(), GetCurrentUserName()); + => RecordAuditTrailUserEventAsync(UserAuditTrailEventConfiguration.Updated, context, _httpContextAccessor); public override Task DeletedAsync(UserDeleteContext context) - => RecordAuditTrailEventAsync(UserAuditTrailEventConfiguration.Deleted, context.User, GetCurrentUserId(), GetCurrentUserName()); + => RecordAuditTrailUserEventAsync(UserAuditTrailEventConfiguration.Deleted, context, _httpContextAccessor); - private async Task RecordAuditTrailEventAsync(string name, IUser user, string userIdActual = "", string userNameActual = "") + public override Task ConfirmedAsync(UserConfirmContext context) + => RecordAuditTrailUserEventAsync(UserAuditTrailEventConfiguration.Confirmed, context, _httpContextAccessor); + + private async Task RecordAuditTrailEventAsync( + string name, + IUser user, + string userIdActual = "", + string userNameActual = "", + bool storeSnapshot = false) { var userName = user.UserName; _userManager ??= _serviceProvider.GetRequiredService>(); @@ -94,6 +103,7 @@ private async Task RecordAuditTrailEventAsync(string name, IUser user, string us { UserName = userName, UserId = userId, + User = storeSnapshot ? user as User : null, }; var context = new AuditTrailContext @@ -125,4 +135,12 @@ private string GetCurrentUserName() private string GetCurrentUserId() => _httpContextAccessor.HttpContext.User?.FindFirstValue(ClaimTypes.NameIdentifier); + + private Task RecordAuditTrailUserEventAsync(string name, UserContextBase context, IHttpContextAccessor accessor) + => RecordAuditTrailEventAsync( + name, + context.User, + accessor.HttpContext?.User?.FindFirstValue(ClaimTypes.NameIdentifier), + accessor.HttpContext?.User?.Identity?.Name, + storeSnapshot: true); } From 7537ce3380131a6e6c43df61b26145c625bf07e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1ra=20El-Saig?= Date: Mon, 24 Feb 2025 01:40:56 +0100 Subject: [PATCH 08/11] Fix spacing. --- .../AuditTrail/Models/AuditTrailUserEvent.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/OrchardCore.Modules/OrchardCore.Users/AuditTrail/Models/AuditTrailUserEvent.cs b/src/OrchardCore.Modules/OrchardCore.Users/AuditTrail/Models/AuditTrailUserEvent.cs index 5af478da013..fe1561e8175 100644 --- a/src/OrchardCore.Modules/OrchardCore.Users/AuditTrail/Models/AuditTrailUserEvent.cs +++ b/src/OrchardCore.Modules/OrchardCore.Users/AuditTrail/Models/AuditTrailUserEvent.cs @@ -11,17 +11,17 @@ public class AuditTrailUserEvent /// Gets the event name. /// public string Name => "User"; - + /// /// Gets or sets a snapshot of the object, if the event modified it somehow. /// public User User { get; set; } - + /// /// Gets or sets the related user's . /// public string UserName { get; set; } - + /// /// Gets or sets the related user's . /// From 4d8ccb1da55bdee8255f105fd3a1336c789f0c1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1ra=20El-Saig?= Date: Mon, 24 Feb 2025 01:48:53 +0100 Subject: [PATCH 09/11] post-merge fix AuditTrailUserEventDetail.DetailAdmin.cshtml --- .../AuditTrailUserEventDetail.DetailAdmin.cshtml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/OrchardCore.Modules/OrchardCore.Users/Views/Items/AuditTrailUserEventDetail.DetailAdmin.cshtml b/src/OrchardCore.Modules/OrchardCore.Users/Views/Items/AuditTrailUserEventDetail.DetailAdmin.cshtml index 2e721bdee1e..6a589317290 100644 --- a/src/OrchardCore.Modules/OrchardCore.Users/Views/Items/AuditTrailUserEventDetail.DetailAdmin.cshtml +++ b/src/OrchardCore.Modules/OrchardCore.Users/Views/Items/AuditTrailUserEventDetail.DetailAdmin.cshtml @@ -1,6 +1,6 @@ +@model AuditTrailUserEventViewModel @using System.Text.Json @using System.Text.Json.Nodes -@model AuditTrailUserEventDetailViewModel

@T["User Info"]

@@ -13,13 +13,13 @@ @T["Username"] @Model.UserEvent.UserName - - @if (Model.UserEvent.User is { } user && JObject.FromObject(user) is { } userJson) - { - - @T["User Snapshot"] -
@userJson.ToJsonString(JOptions.Indented)
- } + @if (JObject.FromObject(Model.UserEvent.User) is { } userJson) + { + + @T["User Snapshot"] +
@userJson.ToJsonString(JOptions.Indented)
+ + } From ddac451840d6b5d55e79cd34c5e7abc03d8de21f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1ra=20El-Saig?= Date: Mon, 24 Feb 2025 02:16:55 +0100 Subject: [PATCH 10/11] Revert change of AuditTrailUserEvent.Name. --- .../AuditTrail/Models/AuditTrailUserEvent.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/OrchardCore.Modules/OrchardCore.Users/AuditTrail/Models/AuditTrailUserEvent.cs b/src/OrchardCore.Modules/OrchardCore.Users/AuditTrail/Models/AuditTrailUserEvent.cs index fe1561e8175..9679cfcd625 100644 --- a/src/OrchardCore.Modules/OrchardCore.Users/AuditTrail/Models/AuditTrailUserEvent.cs +++ b/src/OrchardCore.Modules/OrchardCore.Users/AuditTrail/Models/AuditTrailUserEvent.cs @@ -8,9 +8,9 @@ namespace OrchardCore.Users.AuditTrail.Models; public class AuditTrailUserEvent { /// - /// Gets the event name. + /// Gets or sets the event name. /// - public string Name => "User"; + public string Name { get; set; } = "User"; /// /// Gets or sets a snapshot of the object, if the event modified it somehow. From 2012d0e0d734a0b1001496ec9ea26b04f40bb32e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1ra=20El-Saig?= Date: Mon, 24 Feb 2025 02:27:23 +0100 Subject: [PATCH 11/11] Remove unused code. --- .../AuditTrail/Handlers/UserEventHandler.cs | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/OrchardCore.Modules/OrchardCore.Users/AuditTrail/Handlers/UserEventHandler.cs b/src/OrchardCore.Modules/OrchardCore.Users/AuditTrail/Handlers/UserEventHandler.cs index f16879d8a1f..f3030bfe1df 100644 --- a/src/OrchardCore.Modules/OrchardCore.Users/AuditTrail/Handlers/UserEventHandler.cs +++ b/src/OrchardCore.Modules/OrchardCore.Users/AuditTrail/Handlers/UserEventHandler.cs @@ -130,12 +130,6 @@ public Task ValidatingLoginAsync(IUser user) => Task.FromResult(null); #endregion - private string GetCurrentUserName() - => _httpContextAccessor.HttpContext.User?.Identity?.Name; - - private string GetCurrentUserId() - => _httpContextAccessor.HttpContext.User?.FindFirstValue(ClaimTypes.NameIdentifier); - private Task RecordAuditTrailUserEventAsync(string name, UserContextBase context, IHttpContextAccessor accessor) => RecordAuditTrailEventAsync( name,