diff --git a/IRaCIS.Core.Application/Service/Management/UserService.cs b/IRaCIS.Core.Application/Service/Management/UserService.cs index e25cfbfc5..3fe37375c 100644 --- a/IRaCIS.Core.Application/Service/Management/UserService.cs +++ b/IRaCIS.Core.Application/Service/Management/UserService.cs @@ -806,12 +806,14 @@ namespace IRaCIS.Application.Services //登录成功 清除缓存 _cache.Set(cacheKey, 0, TimeSpan.FromMinutes(lockoutMinutes)); + var ipinfo = _searcher.Search(_userInfo.IP); + var iPRegion = string.Join('|', ipinfo.Split('|').TakeLast(3)); if (loginUser.LastLoginIP != string.Empty) { // 与上一次IP不一致 - if (loginUser.LastLoginIP != _userInfo.IP) + if (loginUser.LastLoginIP != iPRegion) { loginUser.LoginState = 2; } @@ -832,9 +834,7 @@ namespace IRaCIS.Application.Services }); } - var ipinfo = _searcher.Search(_userInfo.IP); - - var iPRegion = string.Join('|', ipinfo.Split('|').TakeLast(3)); + await _userRepository.BatchUpdateNoTrackingAsync(x => x.Id == loginUser.Id, x => new User() { LastLoginIP = iPRegion,