😎增加租户有效期验证

This commit is contained in:
zuohuaijun 2024-10-29 03:31:25 +08:00
parent d50eafa55b
commit 31e6d794b0
3 changed files with 18 additions and 4 deletions

View File

@ -289,8 +289,7 @@ public class SysTenantService : IDynamicApiController, ITransient
await _sysRoleRep.AsDeleteable().Where(u => u.TenantId == input.Id).ExecuteCommandAsync();
var roleIds = await _sysRoleRep.AsQueryable().ClearFilter()
.Where(u => u.TenantId == input.Id).Select(u => u.Id).ToListAsync();
var roleIds = await _sysRoleRep.AsQueryable().ClearFilter().Where(u => u.TenantId == input.Id).Select(u => u.Id).ToListAsync();
await _sysRoleMenuRep.AsDeleteable().Where(u => roleIds.Contains(u.RoleId)).ExecuteCommandAsync();
await _sysOrgRep.AsDeleteable().Where(u => u.TenantId == input.Id).ExecuteCommandAsync();

View File

@ -13,6 +13,8 @@ using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.DependencyInjection;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace Admin.NET.Web.Core
@ -48,6 +50,19 @@ namespace Admin.NET.Web.Core
// 验证Token版本号
// 验证租户有效期
var tenantId = context.User.FindFirst(ClaimConst.TenantId)?.Value;
if (!string.IsNullOrWhiteSpace(tenantId))
{
var tenant = sysCacheService.Get<List<SysTenant>>(CacheConst.KeyTenant)?.FirstOrDefault(u => u.Id == long.Parse(tenantId));
if (tenant != null && tenant.ExpirationTime != null && DateTime.Now > tenant.ExpirationTime)
{
context.Fail();
context.GetCurrentHttpContext().SignoutToSwagger();
return;
}
}
var sysConfigService = serviceScope.ServiceProvider.GetRequiredService<SysConfigService>();
var tokenExpire = await sysConfigService.GetTokenExpire();
var refreshTokenExpire = await sysConfigService.GetRefreshTokenExpire();

View File

@ -85,8 +85,8 @@
"@types/node": "^20.16.5",
"@types/nprogress": "^0.2.3",
"@types/sortablejs": "^1.15.8",
"@typescript-eslint/eslint-plugin": "^8.11.0",
"@typescript-eslint/parser": "^8.11.0",
"@typescript-eslint/eslint-plugin": "^8.12.0",
"@typescript-eslint/parser": "^8.12.0",
"@vitejs/plugin-vue": "^5.1.4",
"@vitejs/plugin-vue-jsx": "^4.0.1",
"@vue/compiler-sfc": "^3.5.12",