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();
+ }
+ }
+}