فهرست منبع

fix: 修复默认租户有所有默认菜单权限的问题

喵你个旺呀 1 سال پیش
والد
کامیت
2d56d4ee31

+ 1 - 1
Admin.NET/Admin.NET.Core/SeedData/SysTenantMenuSeedData.cs

@@ -19,6 +19,6 @@ public class SysTenantMenuSeedData : ISqlSugarEntitySeedData<SysTenantMenu>
     public IEnumerable<SysTenantMenu> HasData()
     {
         var id = 1300000000000;
-        return new SysMenuSeedData().HasData().Select(u => new SysTenantMenu { Id=id+=100, TenantId=SqlSugarConst.DefaultTenantId, MenuId=u.Id });
+        return App.GetService<SysTenantService>().GetTenantDefaultMenuList().Select(u => new SysTenantMenu { Id=id+=100, TenantId=SqlSugarConst.DefaultTenantId, MenuId=u.MenuId });
     }
 }

+ 3 - 0
Admin.NET/Admin.NET.Core/Service/Menu/SysMenuService.cs

@@ -50,6 +50,9 @@ public class SysMenuService : IDynamicApiController, ITransient
         var (query, _) = GetSugarQueryableAndTenantId(_userManager.TenantId);
         if (_userManager.SuperAdmin || _userManager.SysAdmin)
         {
+            // 超管用户且是默认租户,则获取全部默认菜单
+            if (_userManager.SuperAdmin && _userManager.TenantId == SqlSugarConst.DefaultTenantId)
+                query = _sysMenuRep.AsQueryable().ClearFilter().InnerJoinIF<SysTenantMenu>(false, (u, t) => true);
             var menuList = await query.Where(u => u.Type != MenuTypeEnum.Btn && u.Status == StatusEnum.Enable)
                 .OrderBy(u => new { u.OrderNo, u.Id })
                 .ToTreeAsync(u => u.Children, u => u.Pid, 0);