From e14182c883b61558fb1147f243945579606a15c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=8D=E5=81=9A=E7=A0=81=E5=86=9C?= <599854767@qq.com> Date: Sat, 5 Mar 2022 18:54:10 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=99=BB=E5=BD=95=E6=97=A5?= =?UTF-8?q?=E5=BF=97=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/System/SysLoginController.cs | 26 +++++++++++++- ZR.Admin.WebApi/Framework/AsyncFactory.cs | 34 ------------------- 2 files changed, 25 insertions(+), 35 deletions(-) delete mode 100644 ZR.Admin.WebApi/Framework/AsyncFactory.cs diff --git a/ZR.Admin.WebApi/Controllers/System/SysLoginController.cs b/ZR.Admin.WebApi/Controllers/System/SysLoginController.cs index 9288652..3694650 100644 --- a/ZR.Admin.WebApi/Controllers/System/SysLoginController.cs +++ b/ZR.Admin.WebApi/Controllers/System/SysLoginController.cs @@ -17,6 +17,8 @@ using Hei.Captcha; using ZR.Common; using ZR.Service.System; using Microsoft.Extensions.Options; +using UAParser; +using IPTools.Core; namespace ZR.Admin.WebApi.Controllers.System { @@ -77,7 +79,7 @@ namespace ZR.Admin.WebApi.Controllers.System return ToResponse(ResultCode.CAPTCHA_ERROR, "验证码错误"); } - var user = sysLoginService.Login(loginBody, AsyncFactory.RecordLogInfo(httpContextAccessor.HttpContext, "0", "login")); + var user = sysLoginService.Login(loginBody, RecordLogInfo(httpContextAccessor.HttpContext)); List roles = roleService.SelectUserRoleListByUserId(user.UserId); //权限集合 eg *:*:*,system:user:list @@ -178,5 +180,27 @@ namespace ZR.Admin.WebApi.Controllers.System return ToJson(1, obj); } + + /// + /// 记录用户登陆信息 + /// + /// + /// + public SysLogininfor RecordLogInfo(HttpContext context) + { + var ipAddr = context.GetClientUserIp(); + var ip_info = IpTool.Search(ipAddr); + ClientInfo clientInfo = context.GetClientInfo(); + SysLogininfor sysLogininfor = new() + { + browser = clientInfo.Device.Family, + os = clientInfo.OS.ToString(), + ipaddr = ipAddr, + userName = context.GetName(), + loginLocation = ip_info.Province + "-" + ip_info.City + }; + + return sysLogininfor; + } } } diff --git a/ZR.Admin.WebApi/Framework/AsyncFactory.cs b/ZR.Admin.WebApi/Framework/AsyncFactory.cs deleted file mode 100644 index c1aae1a..0000000 --- a/ZR.Admin.WebApi/Framework/AsyncFactory.cs +++ /dev/null @@ -1,34 +0,0 @@ -using IPTools.Core; -using Microsoft.AspNetCore.Http; -using UAParser; -using ZR.Admin.WebApi.Extensions; -using ZR.Model.System; - -namespace ZR.Admin.WebApi.Framework -{ - public class AsyncFactory - { - /// - /// 记录用户登陆信息 - /// - /// - /// - /// - /// - public static SysLogininfor RecordLogInfo(HttpContext context, string status, string message) - { - ClientInfo clientInfo = context.GetClientInfo(); - SysLogininfor sysLogininfor = new SysLogininfor(); - sysLogininfor.browser = clientInfo.Device.Family; - sysLogininfor.os = clientInfo.OS.ToString(); - sysLogininfor.ipaddr = context.GetClientUserIp(); - sysLogininfor.msg = message; - sysLogininfor.userName = context.GetName(); - sysLogininfor.status = status; - var ip_info = IpTool.Search(sysLogininfor.ipaddr); - sysLogininfor.loginLocation = ip_info.Province + "-" + ip_info.City; - - return sysLogininfor; - } - } -}