diff --git a/CubeDemoNC/Startup.cs b/CubeDemoNC/Startup.cs index 333b760c..b97b41c2 100644 --- a/CubeDemoNC/Startup.cs +++ b/CubeDemoNC/Startup.cs @@ -117,6 +117,7 @@ public void Configure(IApplicationBuilder app, IWebHostEnvironment env) //app.UseMetronic8(env); //app.UseLayuiAdmin(env); //app.UseBlazor(env); + app.UseCubeHome(); app.UseAuthorization(); diff --git a/NewLife.Cube/Web/WebHelper2.cs b/NewLife.Cube/Web/WebHelper2.cs index 063e9184..7b455d0d 100644 --- a/NewLife.Cube/Web/WebHelper2.cs +++ b/NewLife.Cube/Web/WebHelper2.cs @@ -3,6 +3,7 @@ using NewLife.Cube.Extensions; using NewLife.Serialization; using XCode; +using XCode.Membership; namespace NewLife.Cube; @@ -143,4 +144,22 @@ public static String GetLinuxName() /// public static String GetReferer(this HttpRequest request) => request.Headers["Referer"].FirstOrDefault(); #endregion + + /// 修正多租户菜单 + public static void FixTenantMenu() + { + var root = Menu.FindByName("Admin"); + if (root != null) + { + var set = CubeSetting.Current; + foreach (var item in root.Childs) + { + if (item.Name.Contains("Tenant")) + { + item.Visible = set.EnableTenant; + item.Update(); + } + } + } + } } \ No newline at end of file diff --git a/NewLife.CubeNC/Areas/Admin/Controllers/CubeController.cs b/NewLife.CubeNC/Areas/Admin/Controllers/CubeController.cs index 6a72d91c..d651ba09 100644 --- a/NewLife.CubeNC/Areas/Admin/Controllers/CubeController.cs +++ b/NewLife.CubeNC/Areas/Admin/Controllers/CubeController.cs @@ -64,4 +64,16 @@ public override void OnActionExecuting(ActionExecutingContext filterContext) /// [AllowAnonymous] public ActionResult GetLoginConfig() => Ok(data: new LoginConfigModel()); + + /// 更新时触发 + /// + /// + public override ActionResult Update(CubeSetting obj) + { + var rs = base.Update(obj); + + WebHelper2.FixTenantMenu(); + + return rs; + } } \ No newline at end of file diff --git a/NewLife.CubeNC/Areas/Admin/Controllers/ParameterController.cs b/NewLife.CubeNC/Areas/Admin/Controllers/ParameterController.cs index bee40b7a..8cacdde4 100644 --- a/NewLife.CubeNC/Areas/Admin/Controllers/ParameterController.cs +++ b/NewLife.CubeNC/Areas/Admin/Controllers/ParameterController.cs @@ -7,7 +7,7 @@ namespace NewLife.Cube.Admin.Controllers; /// 字典参数 [DisplayName("字典参数")] [Area("Admin")] -[Menu(30, false, Icon = "fa-wrench")] +[Menu(30, true, Icon = "fa-wrench")] public class ParameterController : EntityController { static ParameterController() diff --git a/NewLife.CubeNC/CubeService.cs b/NewLife.CubeNC/CubeService.cs index 80b60589..413d6e73 100644 --- a/NewLife.CubeNC/CubeService.cs +++ b/NewLife.CubeNC/CubeService.cs @@ -22,6 +22,7 @@ using Stardust; using Stardust.Registry; using XCode.DataAccessLayer; +using XCode.Membership; namespace NewLife.Cube; @@ -296,6 +297,7 @@ public static IApplicationBuilder UseCube(this IApplicationBuilder app, IWebHost // 调整魔方表名 FixAppTableName(); FixAvatar(); + WebHelper2.FixTenantMenu(); // 使用管理提供者 app.UseManagerProvider();