diff --git a/Admin.NET/Admin.NET.Application/Service/App/Auth/AppAuthService.cs b/Admin.NET/Admin.NET.Application/Service/App/Auth/AppAuthService.cs index c5f79ecd..ece4ecdd 100644 --- a/Admin.NET/Admin.NET.Application/Service/App/Auth/AppAuthService.cs +++ b/Admin.NET/Admin.NET.Application/Service/App/Auth/AppAuthService.cs @@ -214,7 +214,6 @@ public class AppAuthService : IDynamicApiController, ITransient if (string.IsNullOrWhiteSpace(_appUserManager.Account)) throw Oops.Oh(ErrorCodeEnum.D1011); - _appUserManager.RemoveSession(_appUserManager.UserId); _httpContextAccessor.HttpContext.SignoutToSwagger(); } diff --git a/Admin.NET/Admin.NET.Application/Service/App/Auth/AppUserManager.cs b/Admin.NET/Admin.NET.Application/Service/App/Auth/AppUserManager.cs index 85fe5b6d..0c9e053b 100644 --- a/Admin.NET/Admin.NET.Application/Service/App/Auth/AppUserManager.cs +++ b/Admin.NET/Admin.NET.Application/Service/App/Auth/AppUserManager.cs @@ -9,14 +9,14 @@ using Microsoft.AspNetCore.Http; namespace Admin.NET.Application; /// -/// 业务层用户Session管理 +/// 业务层用户状态管理 /// /// /// public class AppUserManager( SysCacheService sysCacheService, IHttpContextAccessor httpContextAccessor) - : UserManager(sysCacheService, httpContextAccessor), IUserSessionExtProps + : UserManager(sysCacheService, httpContextAccessor), IUserManagerExtProps { /// /// 工号 diff --git a/Admin.NET/Admin.NET.Core/ApiKeyAuth/ApiKeyAuthenticationHandler.cs b/Admin.NET/Admin.NET.Core/ApiKeyAuth/ApiKeyAuthenticationHandler.cs index 379a06f9..93e4f6a6 100644 --- a/Admin.NET/Admin.NET.Core/ApiKeyAuth/ApiKeyAuthenticationHandler.cs +++ b/Admin.NET/Admin.NET.Core/ApiKeyAuth/ApiKeyAuthenticationHandler.cs @@ -48,8 +48,8 @@ public class ApiKeyAuthenticationHandler : AuthenticationHandler /// 用户会话缓存 /// - public const string KeyUserSession = "sys_user_session:"; + public const string KeyUserManager = "sys_user_manager:"; /// /// 用户Token版本缓存 diff --git a/Admin.NET/Admin.NET.Core/Logging/DatabaseLoggingWriter.cs b/Admin.NET/Admin.NET.Core/Logging/DatabaseLoggingWriter.cs index 8409fe67..a660ab74 100644 --- a/Admin.NET/Admin.NET.Core/Logging/DatabaseLoggingWriter.cs +++ b/Admin.NET/Admin.NET.Core/Logging/DatabaseLoggingWriter.cs @@ -197,19 +197,19 @@ public class DatabaseLoggingWriter : IDatabaseLoggingWriter, IDisposable .GetValueOrDefault(ClaimConst.UserId) ?? "" , out var temp) ? temp : null; - var userSession = userManger.GetSession(result.UserId); - result.TenantId = long.TryParse(userSession?.TenantId?.ToString() ?? "", out temp) ? temp : null; - result.RealName = userSession?.RealName; - result.Account = userSession?.Account; + var userManager = userManger.Get(result.UserId); + result.TenantId = long.TryParse(userManager?.TenantId?.ToString() ?? "", out temp) ? temp : null; + result.RealName = userManager?.RealName; + result.Account = userManager?.Account; } - // 退出登陆时没有session,尝试从数据库中获取 + // 退出登陆时没有用户状态,尝试从userManger中获取 if (string.IsNullOrWhiteSpace(result.Account) && result.UserId != null) { - var user = _db.Queryable().First(u => u.Id == result.UserId); - result.Account = user?.TenantId?.ToString(); - result.RealName = user?.RealName; - result.Account = user?.Account; + var userManager = userManger.GetOrRefresh(result.UserId); + result.Account =userManager?.TenantId?.ToString(); + result.RealName = userManager?.RealName; + result.Account = userManager?.Account; } // 用户登陆时没有userId,需要根据入参获取 diff --git a/Admin.NET/Admin.NET.Core/Logging/ElasticSearchLoggingWriter.cs b/Admin.NET/Admin.NET.Core/Logging/ElasticSearchLoggingWriter.cs index 09411d7a..1b13662d 100644 --- a/Admin.NET/Admin.NET.Core/Logging/ElasticSearchLoggingWriter.cs +++ b/Admin.NET/Admin.NET.Core/Logging/ElasticSearchLoggingWriter.cs @@ -46,17 +46,17 @@ public class ElasticSearchLoggingWriter : IDatabaseLoggingWriter, IDisposable string account = "", realName = "", userId = "", tenantId = ""; if (loggingMonitor.authorizationClaims != null) { - UserSessionDao userSession = null; + UserManagerDao manager = null; foreach (var item in loggingMonitor.authorizationClaims) { if (item.type != ClaimConst.UserId) continue; userId = item.value; - userSession = userManager.Value.GetSessionOrRefresh(userId); + manager = userManager.Value.GetOrRefresh(userId); break; } - tenantId = userSession?.TenantId.ToString(); - realName = userSession?.RealName; - account = userSession?.Account; + tenantId = manager?.TenantId.ToString(); + realName = manager?.RealName; + account = manager?.Account; } string remoteIPv4 = loggingMonitor.remoteIPv4; diff --git a/Admin.NET/Admin.NET.Core/Service/Auth/SysAuthService.cs b/Admin.NET/Admin.NET.Core/Service/Auth/SysAuthService.cs index 91b9413b..72bccdb5 100644 --- a/Admin.NET/Admin.NET.Core/Service/Auth/SysAuthService.cs +++ b/Admin.NET/Admin.NET.Core/Service/Auth/SysAuthService.cs @@ -273,8 +273,8 @@ public class SysAuthService : IDynamicApiController, ITransient // 发布系统登录事件 await _eventPublisher.PublishAsync(UserEventTypeEnum.Login, user); - // 缓存用户Session - await SetUserSession(user, loginMode); + // 缓存用户状态 + await SetUserManager(user, loginMode); return new LoginOutput { @@ -284,11 +284,11 @@ public class SysAuthService : IDynamicApiController, ITransient } /// - /// 设置用户Session + /// 设置用户状态 /// /// /// - private async Task SetUserSession(SysUser user, LoginModeEnum loginMode = LoginModeEnum.PC) + private async Task SetUserManager(SysUser user, LoginModeEnum loginMode = LoginModeEnum.PC) { var db = _sysUserRep.Context.CopyNew(); user.SysPos ??= await db.Queryable().FirstAsync(u => u.Id == user.PosId); @@ -305,8 +305,8 @@ public class SysAuthService : IDynamicApiController, ITransient var permissions = GetUserPermissions(user, roleIds); var unauthorizedPermissions = GetUserUnPermissions(user, roleIds); - // 缓存用户Session - _userManager.SetSession(new() + // 缓存用户状态 + _userManager.Set(new() { UserId = user.Id, TenantId = user.TenantId, @@ -331,7 +331,7 @@ public class SysAuthService : IDynamicApiController, ITransient UnauthorizedPermissions = unauthorizedPermissions, DataScopeList = user.AccountType == AccountTypeEnum.SuperAdmin ? [DataScopeEnum.All] : maxDataScope, AppPermissions = loginMode == LoginModeEnum.APP ? LazyHelper.GetService().Value.GetAppApiList() : null, - ExtProps = App.GetServices().SelectMany(u => u.GetInitExtProps(user)).ToDictionary(u => u.Key, u => u.Value) + ExtProps = App.GetServices().SelectMany(u => u.GetInitExtProps(user)).ToDictionary(u => u.Key, u => u.Value) }); } @@ -412,7 +412,6 @@ public class SysAuthService : IDynamicApiController, ITransient // 发布系统退出事件 await _eventPublisher.PublishAsync(UserEventTypeEnum.Logout, _userManager); - _userManager.RemoveSession(_userManager.UserId); // 退出Swagger/设置无效Token响应头 _httpContextAccessor.HttpContext.SignoutToSwagger(); @@ -635,13 +634,13 @@ public class SysAuthService : IDynamicApiController, ITransient } /// - /// 刷新Session + /// 刷新用户状态 /// /// [NonAction] - public async Task RefreshSession(long userId) + public async Task RefreshUserManager(long userId) { var user = await _sysUserRep.AsQueryable().IgnoreTenant().Includes(u => u.SysOrg).FirstAsync(u => u.Id == userId); - await SetUserSession(user, CommonHelper.IsMobile(_httpContextAccessor.HttpContext?.Request.Headers.UserAgent ?? "") ? LoginModeEnum.APP : LoginModeEnum.PC); + await SetUserManager(user, CommonHelper.IsMobile(_httpContextAccessor.HttpContext?.Request.Headers.UserAgent ?? "") ? LoginModeEnum.APP : LoginModeEnum.PC); } } \ No newline at end of file diff --git a/Admin.NET/Admin.NET.Core/Service/Cache/SysCacheService.cs b/Admin.NET/Admin.NET.Core/Service/Cache/SysCacheService.cs index 8d619ed1..9a57163b 100644 --- a/Admin.NET/Admin.NET.Core/Service/Cache/SysCacheService.cs +++ b/Admin.NET/Admin.NET.Core/Service/Cache/SysCacheService.cs @@ -439,10 +439,10 @@ public class SysCacheService : IDynamicApiController, ISingleton return; } - // 排除非本租户、以及超管的Session缓存 + // 排除非本租户、以及超管的 用户状态 缓存 var sysUserRep = App.GetService>(); var userIds = sysUserRep.AsQueryable().Where(u => u.AccountType != AccountTypeEnum.SuperAdmin).Select(u => u.Id).ToList().Select(u => u.ToString()).ToList(); - var keys = _cacheProvider.Cache.Keys.Where(key => !key.StartsWith(CacheConst.KeyUserSession) || userIds.Any(key.EndsWith)).ToList(); + var keys = _cacheProvider.Cache.Keys.Where(key => !key.StartsWith(CacheConst.KeyUserManager) || userIds.Any(key.EndsWith)).ToList(); keys.ForEach(key => _cacheProvider.Cache.Remove(key)); } diff --git a/Admin.NET/Admin.NET.Core/Service/CodeGen/SysCodeGenService.cs b/Admin.NET/Admin.NET.Core/Service/CodeGen/SysCodeGenService.cs index 3580f8e6..e179c140 100644 --- a/Admin.NET/Admin.NET.Core/Service/CodeGen/SysCodeGenService.cs +++ b/Admin.NET/Admin.NET.Core/Service/CodeGen/SysCodeGenService.cs @@ -603,7 +603,7 @@ public class SysCodeGenService : IDynamicApiController, ITransient await _db.Insertable(menus).ExecuteCommandAsync(); // 删除角色菜单按钮缓存 - _sysCacheService.RemoveByPrefixKey(CacheConst.KeyUserSession); + _sysCacheService.RemoveByPrefixKey(CacheConst.KeyUserManager); } /// diff --git a/Admin.NET/Admin.NET.Core/Service/OpenAccess/SysOpenAccessService.cs b/Admin.NET/Admin.NET.Core/Service/OpenAccess/SysOpenAccessService.cs index b98dc151..2b7f1042 100644 --- a/Admin.NET/Admin.NET.Core/Service/OpenAccess/SysOpenAccessService.cs +++ b/Admin.NET/Admin.NET.Core/Service/OpenAccess/SysOpenAccessService.cs @@ -169,9 +169,9 @@ public class SysOpenAccessService : IDynamicApiController, ITransient /// /// [NonAction] - private async Task TryCreateSession(SysOpenAccess openAccess) + private async Task TryRefreshUserManager(SysOpenAccess openAccess) { - if (!_userManager.ExistSession(openAccess.Id)) await _sysAuthService.CreateToken(openAccess.BindUser); + if (!_userManager.Exist(openAccess.BindUser.Id)) await _sysAuthService.RefreshUserManager(openAccess.BindUser.Id); } /// @@ -208,7 +208,7 @@ public class SysOpenAccessService : IDynamicApiController, ITransient new Claim(ClaimConst.UserId, openAccess.BindUserId + ""), new Claim(ClaimConst.TokenVersion, openAccess.BindUser.TokenVersion + ""), ]); - openAccessService.TryCreateSession(openAccess).GetAwaiter().GetResult(); + openAccessService.TryRefreshUserManager(openAccess).GetAwaiter().GetResult(); return Task.CompletedTask; } }; diff --git a/Admin.NET/Admin.NET.Core/Service/Role/SysRoleService.cs b/Admin.NET/Admin.NET.Core/Service/Role/SysRoleService.cs index 4e46a487..726c8728 100644 --- a/Admin.NET/Admin.NET.Core/Service/Role/SysRoleService.cs +++ b/Admin.NET/Admin.NET.Core/Service/Role/SysRoleService.cs @@ -510,6 +510,6 @@ public class SysRoleService : IDynamicApiController, ITransient public async Task ClearUserApiCache(long roleId) { var userIdList = await _sysUserRoleService.GetUserIdList(roleId); - foreach (var userId in userIdList) _sysCacheService.Remove(CacheConst.KeyUserSession + userId); + foreach (var userId in userIdList) _sysCacheService.Remove(CacheConst.KeyUserManager + userId); } } \ No newline at end of file diff --git a/Admin.NET/Admin.NET.Core/Service/User/IUserSessionExtProps.cs b/Admin.NET/Admin.NET.Core/Service/User/IUserManagerExtProps.cs similarity index 90% rename from Admin.NET/Admin.NET.Core/Service/User/IUserSessionExtProps.cs rename to Admin.NET/Admin.NET.Core/Service/User/IUserManagerExtProps.cs index 49e9e54b..19ef5544 100644 --- a/Admin.NET/Admin.NET.Core/Service/User/IUserSessionExtProps.cs +++ b/Admin.NET/Admin.NET.Core/Service/User/IUserManagerExtProps.cs @@ -7,9 +7,9 @@ namespace Admin.NET.Core; /// -/// 用户Session属性扩展接口 +/// 用户状态属性扩展接口 /// -public interface IUserSessionExtProps +public interface IUserManagerExtProps { Dictionary GetInitExtProps(SysUser user); } \ No newline at end of file diff --git a/Admin.NET/Admin.NET.Core/Service/User/SysUserRoleService.cs b/Admin.NET/Admin.NET.Core/Service/User/SysUserRoleService.cs index 06a94480..943481b4 100644 --- a/Admin.NET/Admin.NET.Core/Service/User/SysUserRoleService.cs +++ b/Admin.NET/Admin.NET.Core/Service/User/SysUserRoleService.cs @@ -39,7 +39,7 @@ public class SysUserRoleService : ITransient await _sysUserRoleRep.InsertRangeAsync(userRoles); // 清除缓存 - _sysCacheService.Remove(CacheConst.KeyUserSession + input.UserId); + _sysCacheService.Remove(CacheConst.KeyUserManager + input.UserId); } /// @@ -61,7 +61,7 @@ public class SysUserRoleService : ITransient // 清除缓存 foreach (var userId in input.UserIdList) { - _sysCacheService.Remove(CacheConst.KeyUserSession + userId); + _sysCacheService.Remove(CacheConst.KeyUserManager + userId); } } @@ -80,7 +80,7 @@ public class SysUserRoleService : ITransient // 清除缓存 foreach (var userId in userIdList) { - _sysCacheService.Remove(CacheConst.KeyUserSession + userId); + _sysCacheService.Remove(CacheConst.KeyUserManager + userId); } await _sysUserRoleRep.DeleteAsync(u => u.RoleId == roleId); @@ -96,7 +96,7 @@ public class SysUserRoleService : ITransient await _sysUserRoleRep.DeleteAsync(u => u.UserId == userId); // 清除缓存 - _sysCacheService.Remove(CacheConst.KeyUserSession + userId); + _sysCacheService.Remove(CacheConst.KeyUserManager + userId); } /// diff --git a/Admin.NET/Admin.NET.Core/Service/User/SysUserService.cs b/Admin.NET/Admin.NET.Core/Service/User/SysUserService.cs index 8efd83a5..9ac2d2db 100644 --- a/Admin.NET/Admin.NET.Core/Service/User/SysUserService.cs +++ b/Admin.NET/Admin.NET.Core/Service/User/SysUserService.cs @@ -168,8 +168,8 @@ public class SysUserService : IDynamicApiController, ITransient // 更新域账号 await _sysUserLdapService.AddUserLdap(user.TenantId!.Value, user.Id, user.Account, input.DomainAccount); - // 清除用户session - _userManager.RemoveSession(input.Id); + // 清除用户状态 + _userManager.Remove(input.Id); // 发布更新用户事件 await _eventPublisher.PublishAsync(UserEventTypeEnum.Update, input); @@ -251,8 +251,8 @@ public class SysUserService : IDynamicApiController, ITransient { var count = await _sysUserRep.AsUpdateable(user) .IgnoreColumns(u => new { u.CreateTime, u.Account, u.Password, u.AccountType, u.OrgId, u.PosId }).ExecuteCommandAsync(); - // 清除用户session - _userManager.RemoveSession(user.Id); + // 清除用户状态 + _userManager.Remove(user.Id); return count; } @@ -499,7 +499,7 @@ public class SysUserService : IDynamicApiController, ITransient // 强制下线账号 await _sysOnlineUserService.ForceOfflineByUserId(user.Id); - // 清除用户session - _userManager.RemoveSession(user.Id); + // 清除用户状态 + _userManager.Remove(user.Id); } } \ No newline at end of file diff --git a/Admin.NET/Admin.NET.Core/Service/User/UserManager.cs b/Admin.NET/Admin.NET.Core/Service/User/UserManager.cs index ac57e946..dfaf6193 100644 --- a/Admin.NET/Admin.NET.Core/Service/User/UserManager.cs +++ b/Admin.NET/Admin.NET.Core/Service/User/UserManager.cs @@ -13,26 +13,26 @@ namespace Admin.NET.Core; /// public class UserManager( SysCacheService sysCacheService, - IHttpContextAccessor httpContextAccessor) : UserSessionDao, IScoped + IHttpContextAccessor httpContextAccessor) : UserManagerDao, IScoped { /// - /// 用户Session + /// 用户状态 /// [System.Text.Json.Serialization.JsonIgnore] [Newtonsoft.Json.JsonIgnore] - protected virtual UserSessionDao _session { get; set; } + protected virtual UserManagerDao _manager { get; set; } /// /// 代理对象 /// [System.Text.Json.Serialization.JsonIgnore] [Newtonsoft.Json.JsonIgnore] - protected virtual UserSessionDao Session + protected virtual UserManagerDao Manager { get { - if (_session == null || _session.UserId != UserId) _session = sysCacheService.Get(CacheConst.KeyUserSession + UserId); - return _session; + if (_manager == null || _manager.UserId != UserId) _manager = sysCacheService.Get(CacheConst.KeyUserManager + UserId); + return _manager; } } @@ -53,167 +53,167 @@ public class UserManager( /// /// 应用Id /// - public override long? AppId => Session?.AppId; + public override long? AppId => Manager?.AppId; /// /// 租户Id /// - public override long? TenantId => Session?.TenantId; + public override long? TenantId => Manager?.TenantId; /// /// 用户账号 /// - public override string Account => Session?.Account; + public override string Account => Manager?.Account; /// /// 真实姓名 /// - public override string RealName => Session?.RealName; + public override string RealName => Manager?.RealName; /// /// 昵称 /// - public override string NickName => Session?.NickName; + public override string NickName => Manager?.NickName; /// /// 账号类型 /// - public override AccountTypeEnum? AccountType => Session?.AccountType; + public override AccountTypeEnum? AccountType => Manager?.AccountType; /// /// 组织机构Id /// - public override long OrgId => Session?.OrgId ?? 0; + public override long OrgId => Manager?.OrgId ?? 0; /// /// 组织机构名称 /// - public override string OrgName => Session?.OrgName; + public override string OrgName => Manager?.OrgName; /// /// 组织机构Id /// - public override string OrgType => Session?.OrgType; + public override string OrgType => Manager?.OrgType; /// /// 职位Id /// - public override long? PosId => Session?.PosId; + public override long? PosId => Manager?.PosId; /// /// 职位名称 /// - public override string PosName => Session?.PosName; + public override string PosName => Manager?.PosName; /// /// 职位编码 /// - public override string PosCode => Session?.PosCode; + public override string PosCode => Manager?.PosCode; /// /// 组织机构级别 /// - public override int? OrgLevel => Session?.OrgLevel; + public override int? OrgLevel => Manager?.OrgLevel; /// /// 登录模式 /// - public override LoginModeEnum? LoginMode => Session?.LoginMode; + public override LoginModeEnum? LoginMode => Manager?.LoginMode; /// /// 微信OpenId /// - public override string OpenId => Session?.OpenId; + public override string OpenId => Manager?.OpenId; /// /// 数据范围权限列表 /// - public override List DataScopeList => Session?.DataScopeList; + public override List DataScopeList => Manager?.DataScopeList; /// /// 角色Id集 /// - public override List RoleIds => Session?.RoleIds; + public override List RoleIds => Manager?.RoleIds; /// /// 机构Id集 /// - public override List OrgIds => Session?.OrgIds; + public override List OrgIds => Manager?.OrgIds; /// /// 职位Id集 /// - public override List PosIds => Session?.PosIds; + public override List PosIds => Manager?.PosIds; /// /// 权限集 /// - public override List Permissions => Session?.Permissions; + public override List Permissions => Manager?.Permissions; /// /// App权限集 /// - public override List AppPermissions => Session?.AppPermissions; + public override List AppPermissions => Manager?.AppPermissions; /// /// 无权权限集 /// - public override List UnauthorizedPermissions => Session?.UnauthorizedPermissions; + public override List UnauthorizedPermissions => Manager?.UnauthorizedPermissions; /// /// 扩展属性 /// - public override Dictionary ExtProps => Session?.ExtProps; + public override Dictionary ExtProps => Manager?.ExtProps; /// - /// 用户Session是否存在 + /// 用户状态是否存在 /// - public bool ExistSession(long userId) + public bool Exist(long userId) { - return sysCacheService.ExistKey(CacheConst.KeyUserSession + userId); + return sysCacheService.ExistKey(CacheConst.KeyUserManager + userId); } /// - /// 设置用户Session + /// 设置用户状态 /// - public void SetSession(UserSessionDao userSession) + public void Set(UserManagerDao userManager) { - sysCacheService.Set(CacheConst.KeyUserSession + userSession.UserId, userSession); + sysCacheService.Set(CacheConst.KeyUserManager + userManager.UserId, userManager); } /// - /// 清除指定用户Session + /// 清除指定用户状态 /// - public void RemoveSession(long userId) + public void Remove(long userId) { - sysCacheService.Remove(CacheConst.KeyUserSession + userId); + sysCacheService.Remove(CacheConst.KeyUserManager + userId); } /// - /// 获取指定用户Session + /// 获取指定用户状态 /// - public UserSessionDao GetSession(dynamic userId) + public UserManagerDao Get(dynamic userId) { - return sysCacheService.Get(CacheConst.KeyUserSession + userId); + return sysCacheService.Get(CacheConst.KeyUserManager + userId); } /// - /// 获取指定用户Session,如果不存在则刷新 + /// 获取指定用户状态,如果不存在则刷新 /// - public UserSessionDao GetSessionOrRefresh(dynamic userId = null) + public UserManagerDao GetOrRefresh(dynamic userId = null) { userId ??= UserId; - var session = sysCacheService.Get(CacheConst.KeyUserSession + userId); - if (session == null) + var userManager = sysCacheService.Get(CacheConst.KeyUserManager + userId); + if (userManager == null) { if ((Nullable.GetUnderlyingType(userId.GetType()) ?? userId.GetType()) != typeof(long)) { if (long.TryParse(userId.ToString(), out long tempId)) userId = tempId; else return null; } - LazyHelper.GetService().Value.RefreshSession(userId).GetAwaiter().GetResult(); + LazyHelper.GetService().Value.RefreshUserManager(userId).GetAwaiter().GetResult(); } - return sysCacheService.Get(CacheConst.KeyUserSession + userId); + return sysCacheService.Get(CacheConst.KeyUserManager + userId); } /// diff --git a/Admin.NET/Admin.NET.Core/Service/User/UserSessionDao.cs b/Admin.NET/Admin.NET.Core/Service/User/UserManagerDao.cs similarity index 99% rename from Admin.NET/Admin.NET.Core/Service/User/UserSessionDao.cs rename to Admin.NET/Admin.NET.Core/Service/User/UserManagerDao.cs index 46304e05..059c55bd 100644 --- a/Admin.NET/Admin.NET.Core/Service/User/UserSessionDao.cs +++ b/Admin.NET/Admin.NET.Core/Service/User/UserManagerDao.cs @@ -9,7 +9,7 @@ namespace Admin.NET.Core; /// /// 用户会话信息 /// -public class UserSessionDao +public class UserManagerDao { /// /// 用户Id diff --git a/Admin.NET/Admin.NET.Core/SqlSugar/SqlSugarFilter.cs b/Admin.NET/Admin.NET.Core/SqlSugar/SqlSugarFilter.cs index b92ee900..b627854a 100644 --- a/Admin.NET/Admin.NET.Core/SqlSugar/SqlSugarFilter.cs +++ b/Admin.NET/Admin.NET.Core/SqlSugar/SqlSugarFilter.cs @@ -29,8 +29,8 @@ public static class SqlSugarFilter // 用户权限缓存(接口集合) sysCacheService.Remove($"{CacheConst.KeyUserApi}{userId}"); - // 清除用户session - sysCacheService.Remove($"{CacheConst.KeyUserSession}{userId}"); + // 清除用户状态 + sysCacheService.Remove($"{CacheConst.KeyUserManager}{userId}"); // 删除用户机构(数据范围)缓存——过滤器 _cache.Remove($"db:{dbConfigId}:orgList:{userId}"); @@ -58,9 +58,9 @@ public static class SqlSugarFilter var userId = App.User?.FindFirst(ClaimConst.UserId)?.Value; if (string.IsNullOrWhiteSpace(userId)) return; - // 获取用户session - var session = LazyHelper.GetService().Value.GetSessionOrRefresh(userId); - if (session == null) return; + // 获取用户状态 + var userManager = LazyHelper.GetService().Value.GetOrRefresh(userId); + if (userManager == null) return; // 配置用户机构集合缓存 var cacheKey = $"db:{db.CurrentConnectionConfig.ConfigId}:orgList:{userId}"; @@ -71,7 +71,7 @@ public static class SqlSugarFilter if (maxDataScope == (int)DataScopeEnum.All) return; // 获取用户所属机构,保证同一作用域 - var orgIds = session.OrgIds; + var orgIds = userManager.OrgIds; if (orgIds == null || orgIds.Count == 0) return; // 获取业务实体数据表 @@ -112,12 +112,12 @@ public static class SqlSugarFilter var userId = App.User?.FindFirst(ClaimConst.UserId)?.Value; if (string.IsNullOrWhiteSpace(userId)) return maxDataScope; - // 获取用户session - var session = LazyHelper.GetService().Value.GetSessionOrRefresh(userId); - if (session == null) return (int)DataScopeEnum.Self; + // 获取用户状态 + var userManager = LazyHelper.GetService().Value.GetOrRefresh(userId); + if (userManager == null) return (int)DataScopeEnum.Self; // 获取用户最大数据范围--- 全部数据 -> 自定义 - maxDataScope = (int)session.MaxDataScope; + maxDataScope = (int)userManager.MaxDataScope; if (maxDataScope != (int)DataScopeEnum.Self) return maxDataScope; // 配置用户数据范围缓存 diff --git a/Admin.NET/Admin.NET.Web.Core/Handlers/JwtHandler.cs b/Admin.NET/Admin.NET.Web.Core/Handlers/JwtHandler.cs index 6a59d98f..b416a557 100644 --- a/Admin.NET/Admin.NET.Web.Core/Handlers/JwtHandler.cs +++ b/Admin.NET/Admin.NET.Web.Core/Handlers/JwtHandler.cs @@ -68,11 +68,11 @@ namespace Admin.NET.Web.Core return; } - // 刷新 Session - if (sysCacheService.NotExistKey($"{CacheConst.KeyUserSession}{userId}")) + // 刷新 用户状态 + if (sysCacheService.NotExistKey($"{CacheConst.KeyUserManager}{userId}")) { var sysAuthService = serviceScope.ServiceProvider.GetRequiredService(); - await sysAuthService.RefreshSession(long.Parse(userId!)); + await sysAuthService.RefreshUserManager(long.Parse(userId!)); return; }