😎1、统一缓存键名命名 2、优化无效token黑名单 3、降级redis组件版本及升级依赖

This commit is contained in:
zuohuaijun 2025-02-08 02:00:21 +08:00
parent 31a8c876fc
commit 12ee5a4147
8 changed files with 18 additions and 18 deletions

View File

@ -4,9 +4,9 @@
// //
"Cache": { "Cache": {
"Prefix": "adminnet_", // "Prefix": "adminnet_", //
"CacheType": "Memory", // MemoryRedis "CacheType": "Redis", // MemoryRedis
"Redis": { "Redis": {
"Configuration": "server=127.0.0.1:6379;password=;db=5;", // Redis "Configuration": "server=127.0.0.1:6379;password=;db=10;", // Redis
"Prefix": "adminnet_", // Redis "Prefix": "adminnet_", // Redis
"MaxMessageSize": "1048576", // 1024 * 1024 "MaxMessageSize": "1048576", // 1024 * 1024
"AutoDetect": false // Redis使false "AutoDetect": false // Redis使false

View File

@ -14,16 +14,16 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="AlibabaCloud.SDK.Dysmsapi20170525" Version="3.1.1" /> <PackageReference Include="AlibabaCloud.SDK.Dysmsapi20170525" Version="3.1.1" />
<PackageReference Include="AlipaySDKNet.Standard" Version="4.9.376" /> <PackageReference Include="AlipaySDKNet.Standard" Version="4.9.401" />
<PackageReference Include="AngleSharp" Version="1.2.0" /> <PackageReference Include="AngleSharp" Version="1.2.0" />
<PackageReference Include="AspectCore.Extensions.Reflection" Version="2.4.0" /> <PackageReference Include="AspectCore.Extensions.Reflection" Version="2.4.0" />
<PackageReference Include="AspNetCoreRateLimit" Version="5.0.0" /> <PackageReference Include="AspNetCoreRateLimit" Version="5.0.0" />
<PackageReference Include="BouncyCastle.Cryptography" Version="2.5.0" Aliases="BouncyCastleV2" /> <PackageReference Include="BouncyCastle.Cryptography" Version="2.5.1" Aliases="BouncyCastleV2" />
<PackageReference Include="Elastic.Clients.Elasticsearch" Version="8.17.1" /> <PackageReference Include="Elastic.Clients.Elasticsearch" Version="8.17.1" />
<PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.9.7.3" /> <PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.9.7.3" />
<PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.7.3" /> <PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.7.3" />
<PackageReference Include="Furion.Pure" Version="4.9.7.3" /> <PackageReference Include="Furion.Pure" Version="4.9.7.3" />
<PackageReference Include="Hardware.Info" Version="101.0.0" /> <PackageReference Include="Hardware.Info" Version="101.0.0.1" />
<PackageReference Include="Hashids.net" Version="1.7.0" /> <PackageReference Include="Hashids.net" Version="1.7.0" />
<PackageReference Include="IPTools.China" Version="1.6.0" /> <PackageReference Include="IPTools.China" Version="1.6.0" />
<PackageReference Include="IPTools.International" Version="1.6.0" /> <PackageReference Include="IPTools.International" Version="1.6.0" />
@ -36,7 +36,7 @@
<PackageReference Include="MiniWord" Version="0.9.2" /> <PackageReference Include="MiniWord" Version="0.9.2" />
<PackageReference Include="MQTTnet" Version="5.0.1.1416" /> <PackageReference Include="MQTTnet" Version="5.0.1.1416" />
<PackageReference Include="MySqlBackup.NET.MySqlConnector" Version="2.3.8" /> <PackageReference Include="MySqlBackup.NET.MySqlConnector" Version="2.3.8" />
<PackageReference Include="NewLife.Redis" Version="6.1.2025.202" /> <PackageReference Include="NewLife.Redis" Version="6.0.2025.101" />
<PackageReference Include="Novell.Directory.Ldap.NETStandard" Version="3.6.0" /> <PackageReference Include="Novell.Directory.Ldap.NETStandard" Version="3.6.0" />
<PackageReference Include="OnceMi.AspNetCore.OSS" Version="1.2.0" /> <PackageReference Include="OnceMi.AspNetCore.OSS" Version="1.2.0" />
<PackageReference Include="QRCoder" Version="1.6.0" /> <PackageReference Include="QRCoder" Version="1.6.0" />
@ -48,7 +48,7 @@
<PackageReference Include="SSH.NET" Version="2024.2.0" /> <PackageReference Include="SSH.NET" Version="2024.2.0" />
<PackageReference Include="System.Linq.Dynamic.Core" Version="1.6.0.1" /> <PackageReference Include="System.Linq.Dynamic.Core" Version="1.6.0.1" />
<PackageReference Include="System.Net.Http" Version="4.3.4" /> <PackageReference Include="System.Net.Http" Version="4.3.4" />
<PackageReference Include="TencentCloudSDK.Sms" Version="3.0.1174" /> <PackageReference Include="TencentCloudSDK.Sms" Version="3.0.1175" />
<PackageReference Include="UAParser" Version="3.1.47" /> <PackageReference Include="UAParser" Version="3.1.47" />
<PackageReference Include="Yitter.IdGenerator" Version="1.0.14" /> <PackageReference Include="Yitter.IdGenerator" Version="1.0.14" />
</ItemGroup> </ItemGroup>

View File

@ -54,7 +54,7 @@ public class CacheConst
/// <summary> /// <summary>
/// 租户缓存 /// 租户缓存
/// </summary> /// </summary>
public const string KeyTenant = "sys_tenant:"; public const string KeyTenant = "sys_tenant";
/// <summary> /// <summary>
/// 常量下拉框 /// 常量下拉框

View File

@ -11,8 +11,8 @@ namespace Admin.NET.Core;
/// </summary> /// </summary>
public static class YitIdHelperExtension public static class YitIdHelperExtension
{ {
private const string MainLockName = "IdGen:WorkerId:Lock"; private const string MainLockName = "sys_idGen:workerId:lock";
private const string MainValueKey = "IdGen:WorkerId:Value"; private const string MainValueKey = "sys_idGen:workerId:value";
private static readonly List<string> _workIds = []; private static readonly List<string> _workIds = [];
private static SnowIdOptions _options; private static SnowIdOptions _options;

View File

@ -337,7 +337,7 @@ public class SysAuthService : IDynamicApiController, ITransient
// 增加无效Token黑名单 // 增加无效Token黑名单
var tokenExpire = await _sysConfigService.GetTokenExpire(); var tokenExpire = await _sysConfigService.GetTokenExpire();
var accessToken = _httpContextAccessor.HttpContext.Request.Headers.Authorization.ToString(); var accessToken = _httpContextAccessor.HttpContext.Request.Headers.Authorization.ToString();
_sysCacheService.Set($"{CacheConst.KeyTokenBlacklist}{accessToken}", $"{_userManager.UserId}-{_userManager.Account}-{_userManager.RealName}-{DateTime.Now}", TimeSpan.FromMinutes(tokenExpire)); _sysCacheService.Set($"{CacheConst.KeyTokenBlacklist}{MD5Encryption.Encrypt(accessToken)}", $"{_userManager.UserId}-{_userManager.Account}-{_userManager.RealName}-{DateTime.Now}", TimeSpan.FromMinutes(tokenExpire));
// 发布系统退出事件 // 发布系统退出事件
await _eventPublisher.PublishAsync(UserEventTypeEnum.Logout, _userManager); await _eventPublisher.PublishAsync(UserEventTypeEnum.Logout, _userManager);

View File

@ -26,7 +26,7 @@ public class SysConstService : IDynamicApiController, ITransient
[DisplayName("获取所有常量列表")] [DisplayName("获取所有常量列表")]
public async Task<List<ConstOutput>> GetList() public async Task<List<ConstOutput>> GetList()
{ {
var key = $"{CacheConst.KeyConst}list"; var key = $"{CacheConst.KeyConst}ALL";
var constList = _sysCacheService.Get<List<ConstOutput>>(key); var constList = _sysCacheService.Get<List<ConstOutput>>(key);
if (constList == null) if (constList == null)
{ {

View File

@ -50,7 +50,7 @@ namespace Admin.NET.Web.Core
// 验证Token黑名单有则授权失败 // 验证Token黑名单有则授权失败
var accessToken = httpContext.Request.Headers.Authorization.ToString(); var accessToken = httpContext.Request.Headers.Authorization.ToString();
if (sysCacheService.ExistKey($"{CacheConst.KeyTokenBlacklist}{accessToken}")) if (sysCacheService.ExistKey($"{CacheConst.KeyTokenBlacklist}{MD5Encryption.Encrypt(accessToken)}"))
{ {
context.Fail(new AuthorizationFailureReason(this, "Token已失效请重新登录。")); context.Fail(new AuthorizationFailureReason(this, "Token已失效请重新登录。"));
context.GetCurrentHttpContext().SignoutToSwagger(); context.GetCurrentHttpContext().SignoutToSwagger();

View File

@ -2,7 +2,7 @@
"name": "admin.net.pro", "name": "admin.net.pro",
"type": "module", "type": "module",
"version": "2.4.33", "version": "2.4.33",
"lastBuildTime": "2025.02.06", "lastBuildTime": "2025.02.08",
"description": "Admin.NET 站在巨人肩膀上的 .NET 通用权限开发框架", "description": "Admin.NET 站在巨人肩膀上的 .NET 通用权限开发框架",
"author": "zuohuaijun", "author": "zuohuaijun",
"license": "MIT", "license": "MIT",
@ -36,7 +36,7 @@
"echarts": "^5.6.0", "echarts": "^5.6.0",
"echarts-gl": "^2.0.9", "echarts-gl": "^2.0.9",
"echarts-wordcloud": "^2.1.0", "echarts-wordcloud": "^2.1.0",
"element-plus": "^2.9.3", "element-plus": "^2.9.4",
"exceljs": "^4.4.0", "exceljs": "^4.4.0",
"ezuikit-js": "^8.1.5", "ezuikit-js": "^8.1.5",
"gcoord": "^1.0.7", "gcoord": "^1.0.7",
@ -45,7 +45,7 @@
"jsplumb": "^2.15.6", "jsplumb": "^2.15.6",
"jwchat": "^2.0.3", "jwchat": "^2.0.3",
"lodash-es": "^4.17.21", "lodash-es": "^4.17.21",
"md-editor-v3": "^5.2.1", "md-editor-v3": "^5.2.2",
"mitt": "^3.0.1", "mitt": "^3.0.1",
"monaco-editor": "^0.52.2", "monaco-editor": "^0.52.2",
"mqtt": "^5.10.3", "mqtt": "^5.10.3",
@ -74,7 +74,7 @@
"vue-router": "^4.5.0", "vue-router": "^4.5.0",
"vue-signature-pad": "^3.0.2", "vue-signature-pad": "^3.0.2",
"vue3-tree-org": "^4.2.2", "vue3-tree-org": "^4.2.2",
"vxe-pc-ui": "^4.3.79", "vxe-pc-ui": "^4.3.80",
"vxe-table": "^4.10.0", "vxe-table": "^4.10.0",
"vxe-table-plugin-element": "^4.0.4", "vxe-table-plugin-element": "^4.0.4",
"vxe-table-plugin-export-xlsx": "^4.0.7", "vxe-table-plugin-export-xlsx": "^4.0.7",
@ -101,7 +101,7 @@
"prettier": "^3.4.2", "prettier": "^3.4.2",
"rollup-plugin-visualizer": "^5.14.0", "rollup-plugin-visualizer": "^5.14.0",
"sass": "^1.84.0", "sass": "^1.84.0",
"terser": "^5.38.0", "terser": "^5.38.1",
"typescript": "^5.7.3", "typescript": "^5.7.3",
"vite": "^6.1.0", "vite": "^6.1.0",
"vite-plugin-cdn-import": "^1.0.1", "vite-plugin-cdn-import": "^1.0.1",