From 70ababc2d9e05d9e78a9df9c09a12a35bbc476b3 Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Tue, 16 Apr 2024 17:36:48 +0800 Subject: [PATCH] =?UTF-8?q?=E8=87=AA=E5=8A=A8=E9=80=80=E5=87=BA=E7=99=BB?= =?UTF-8?q?=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- IRaCIS.Core.API/appsettings.Test_IRC.json | 3 ++- .../BusinessFilter/LimitUserRequestAuthorization.cs | 6 ++++-- IRaCIS.Core.Domain/_Config/_AppSettings.cs | 1 + 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/IRaCIS.Core.API/appsettings.Test_IRC.json b/IRaCIS.Core.API/appsettings.Test_IRC.json index c25e9e021..d1d3ec43d 100644 --- a/IRaCIS.Core.API/appsettings.Test_IRC.json +++ b/IRaCIS.Core.API/appsettings.Test_IRC.json @@ -59,7 +59,8 @@ "LoginMaxFailCount": 5, - "LoginFailLockMinutes": 1 + "LoginFailLockMinutes": 1, + "AutoLoginOutMinutes": 10 }, "SystemEmailSendConfig": { diff --git a/IRaCIS.Core.Application/BusinessFilter/LimitUserRequestAuthorization.cs b/IRaCIS.Core.Application/BusinessFilter/LimitUserRequestAuthorization.cs index c4d163f8f..cf0e482bf 100644 --- a/IRaCIS.Core.Application/BusinessFilter/LimitUserRequestAuthorization.cs +++ b/IRaCIS.Core.Application/BusinessFilter/LimitUserRequestAuthorization.cs @@ -35,6 +35,8 @@ public class LimitUserRequestAuthorization : IAsyncAuthorizationFilter public async Task OnAuthorizationAsync(AuthorizationFilterContext context) { + var minutes = _verifyConfig.CurrentValue.AutoLoginOutMinutes; + if (_verifyConfig.CurrentValue.OpenLoginLimit) { if (context.ActionDescriptor.EndpointMetadata.Any(item => item is IAllowAnonymous)) @@ -65,7 +67,7 @@ public class LimitUserRequestAuthorization : IAsyncAuthorizationFilter if (string.IsNullOrWhiteSpace(cacheUserToken)) { //设置当前用户最新Token - await _provider.SetAsync(_userInfo.Id.ToString(), _userInfo.UserToken, TimeSpan.FromDays(7)); + await _provider.SetAsync(_userInfo.Id.ToString(), _userInfo.UserToken, TimeSpan.FromMinutes(minutes)); cacheUserToken = _userInfo.UserToken; @@ -73,7 +75,7 @@ public class LimitUserRequestAuthorization : IAsyncAuthorizationFilter //是同一个人 else if (cacheUserToken == _userInfo.UserToken) { - + await _provider.SetAsync(_userInfo.Id.ToString(), _userInfo.UserToken, TimeSpan.FromMinutes(minutes)); } else diff --git a/IRaCIS.Core.Domain/_Config/_AppSettings.cs b/IRaCIS.Core.Domain/_Config/_AppSettings.cs index c612541f4..0b7018505 100644 --- a/IRaCIS.Core.Domain/_Config/_AppSettings.cs +++ b/IRaCIS.Core.Domain/_Config/_AppSettings.cs @@ -21,6 +21,7 @@ namespace IRaCIS.Core.Domain.Share public int LoginFailLockMinutes { get; set; } + public int AutoLoginOutMinutes { get; set; } } public class SystemEmailSendConfig