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;
}