Преглед изворни кода

fix: 移除普通租户的清空日志权限,防止普通租户清空全部系统日志

Ir0nMax пре 1 година
родитељ
комит
834544d484
1 измењених фајлова са 2 додато и 1 уклоњено
  1. 2 1
      Admin.NET/Admin.NET.Core/Service/Tenant/SysTenantService.cs

+ 2 - 1
Admin.NET/Admin.NET.Core/Service/Tenant/SysTenantService.cs

@@ -331,7 +331,8 @@ public class SysTenantService : IDynamicApiController, ITransient
         var logMenu = allMenuList.First(u => u.Type == MenuTypeEnum.Dir && u.Title == "日志管理");
         menuList.Add(logMenu);
         menuList.AddRange(allMenuList.ToChildList(u => u.Id, u => u.Pid, u => u.Pid == logMenu.Id && new[] { "访问日志", "操作日志" }.Contains(u.Title)));
-        menuList = menuList.Where(u => !new[] { "清空" }.Contains(u.Title)).ToList();
+        var logMenuIds = menuList.Where(u => u.Type == MenuTypeEnum.Menu && new[] { "访问日志", "操作日志" }.Contains(u.Title)).Select(u => u.Id).ToList();
+        menuList = menuList.Where(u => !logMenuIds.Contains(u.Pid) || !new[] { "清空" }.Contains(u.Title)).ToList();
 
         var flow = _sysTenantRep.Context.Queryable<SysMenu>().First(u => u.Type == MenuTypeEnum.Menu && u.Title == "审批流程");
         menuList.Add(allMenuList.First(u => u.Type == MenuTypeEnum.Dir && u.Title == "帮助文档"));