diff --git a/samples/MicroserviceDemo/modules/product/src/ProductManagement.Web/Localization/Resources/ProductManagement/en.json b/samples/MicroserviceDemo/modules/product/src/ProductManagement.Web/Localization/Resources/ProductManagement/en.json index 92e4e9582b..012b6138cc 100644 --- a/samples/MicroserviceDemo/modules/product/src/ProductManagement.Web/Localization/Resources/ProductManagement/en.json +++ b/samples/MicroserviceDemo/modules/product/src/ProductManagement.Web/Localization/Resources/ProductManagement/en.json @@ -1,6 +1,7 @@ { "culture": "en", "texts": { - + "Menu:ProductManagement": "Product Management", + "Menu:Products": "Products" } } \ No newline at end of file diff --git a/samples/MicroserviceDemo/modules/product/src/ProductManagement.Web/ProductManagementMenuContributor.cs b/samples/MicroserviceDemo/modules/product/src/ProductManagement.Web/ProductManagementMenuContributor.cs index 7c2990e87c..0710ebfcfe 100644 --- a/samples/MicroserviceDemo/modules/product/src/ProductManagement.Web/ProductManagementMenuContributor.cs +++ b/samples/MicroserviceDemo/modules/product/src/ProductManagement.Web/ProductManagementMenuContributor.cs @@ -1,4 +1,8 @@ using System.Threading.Tasks; +using Microsoft.AspNetCore.Authorization; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Localization; +using ProductManagement.Localization; using Volo.Abp.UI.Navigation; namespace ProductManagement @@ -13,11 +17,20 @@ namespace ProductManagement } } - private Task ConfigureMainMenu(MenuConfigurationContext context) + private async Task ConfigureMainMenu(MenuConfigurationContext context) { - //Add main menu items. + var authorizationService = context.ServiceProvider.GetRequiredService(); + var l = context.ServiceProvider.GetRequiredService>(); - return Task.CompletedTask; + + var rootMenuItem = new ApplicationMenuItem("ProductManagement", l["Menu:ProductManagement"]); + + if (await authorizationService.IsGrantedAsync(ProductManagementPermissions.Products.Default)) + { + rootMenuItem.AddItem(new ApplicationMenuItem("Products", l["Menu:Products"], "/ProductManagement/Products")); + } + + context.Menu.AddItem(rootMenuItem); } } } \ No newline at end of file