😎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": {
"Prefix": "adminnet_", //
"CacheType": "Memory", // MemoryRedis
"CacheType": "Redis", // MemoryRedis
"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
"MaxMessageSize": "1048576", // 1024 * 1024
"AutoDetect": false // Redis使false

View File

@ -14,16 +14,16 @@
<ItemGroup>
<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="AspectCore.Extensions.Reflection" Version="2.4.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="Furion.Extras.Authentication.JwtBearer" 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="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="IPTools.China" 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="MQTTnet" Version="5.0.1.1416" />
<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="OnceMi.AspNetCore.OSS" Version="1.2.0" />
<PackageReference Include="QRCoder" Version="1.6.0" />
@ -48,7 +48,7 @@
<PackageReference Include="SSH.NET" Version="2024.2.0" />
<PackageReference Include="System.Linq.Dynamic.Core" Version="1.6.0.1" />
<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="Yitter.IdGenerator" Version="1.0.14" />
</ItemGroup>

View File

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

View File

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

View File

@ -337,7 +337,7 @@ public class SysAuthService : IDynamicApiController, ITransient
// 增加无效Token黑名单
var tokenExpire = await _sysConfigService.GetTokenExpire();
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);

View File

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

View File

@ -50,7 +50,7 @@ namespace Admin.NET.Web.Core
// 验证Token黑名单有则授权失败
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.GetCurrentHttpContext().SignoutToSwagger();

View File

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