From a36fda11e3914e13f472938d57865ff104ba6aa9 Mon Sep 17 00:00:00 2001 From: maliming <6908465+maliming@users.noreply.github.com> Date: Wed, 24 Jun 2020 17:28:02 +0800 Subject: [PATCH] Init UserSecurityLog. --- .../Volo.Abp.Security.csproj | 1 + .../SecurityLog/IUserSecurityLogStore.cs | 9 ++++ .../Users/SecurityLog/UserSecurityLogInfo.cs | 53 +++++++++++++++++++ 3 files changed, 63 insertions(+) create mode 100644 framework/src/Volo.Abp.Security/Volo/Abp/Users/SecurityLog/IUserSecurityLogStore.cs create mode 100644 framework/src/Volo.Abp.Security/Volo/Abp/Users/SecurityLog/UserSecurityLogInfo.cs diff --git a/framework/src/Volo.Abp.Security/Volo.Abp.Security.csproj b/framework/src/Volo.Abp.Security/Volo.Abp.Security.csproj index 65aca85c88..6ffaac1232 100644 --- a/framework/src/Volo.Abp.Security/Volo.Abp.Security.csproj +++ b/framework/src/Volo.Abp.Security/Volo.Abp.Security.csproj @@ -16,6 +16,7 @@ + diff --git a/framework/src/Volo.Abp.Security/Volo/Abp/Users/SecurityLog/IUserSecurityLogStore.cs b/framework/src/Volo.Abp.Security/Volo/Abp/Users/SecurityLog/IUserSecurityLogStore.cs new file mode 100644 index 0000000000..18d5b1c23e --- /dev/null +++ b/framework/src/Volo.Abp.Security/Volo/Abp/Users/SecurityLog/IUserSecurityLogStore.cs @@ -0,0 +1,9 @@ +using System.Threading.Tasks; + +namespace Volo.Abp.Users.SecurityLog +{ + public interface IUserSecurityLogStore + { + Task SaveAsync(UserSecurityLogInfo userSecurityLogInfo); + } +} diff --git a/framework/src/Volo.Abp.Security/Volo/Abp/Users/SecurityLog/UserSecurityLogInfo.cs b/framework/src/Volo.Abp.Security/Volo/Abp/Users/SecurityLog/UserSecurityLogInfo.cs new file mode 100644 index 0000000000..5ecb8d9314 --- /dev/null +++ b/framework/src/Volo.Abp.Security/Volo/Abp/Users/SecurityLog/UserSecurityLogInfo.cs @@ -0,0 +1,53 @@ +using System; +using System.Collections.Generic; +using Volo.Abp.Data; + +namespace Volo.Abp.Users.SecurityLog +{ + [Serializable] + public class UserSecurityLogInfo : IHasExtraProperties + { + /// + /// The name of the application or service writing user security logs. + /// Default: null. + /// + public string ApplicationName { get; set; } + + /// + /// Web, JWT, Identity, Identity_Server + /// + public string Identity { get; set; } + + /// + /// login_successful, login_failed, logout, change_pwd, refresh_token... + /// + public string Action { get; set; } + + public Dictionary ExtraProperties { get; } + + public Guid? UserId { get; set; } + + public string UserName { get; set; } + + public Guid? TenantId { get; set; } + + public string TenantName { get; set; } + + public string ClientId { get; set; } + + public string ClientName { get; set; } + + public string CorrelationId { get; set; } + + public string ClientIpAddress { get; set; } + + public string BrowserInfo { get; set; } + + public DateTime CreationTime { get; set; } + + public UserSecurityLogInfo() + { + ExtraProperties = new Dictionary(); + } + } +}