Skip to content

Commit

Permalink
Merge pull request #7906 from abpframework/liangshiwei/Apply-Required…
Browse files Browse the repository at this point in the history
…PermissionName

Use RequiredPermissionName for all ApplicationMenuItem of Blazor
  • Loading branch information
maliming committed Mar 2, 2021
2 parents 4fceda3 + 1ac1964 commit d5beb3d
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 26 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,35 +6,35 @@ namespace Volo.Abp.Identity.Blazor
{
public class AbpIdentityWebMainMenuContributor : IMenuContributor
{
public virtual async Task ConfigureMenuAsync(MenuConfigurationContext context)
public virtual Task ConfigureMenuAsync(MenuConfigurationContext context)
{
if (context.Menu.Name != StandardMenus.Main)
{
return;
return Task.CompletedTask;
}

var hasRolePermission = await context.IsGrantedAsync(IdentityPermissions.Roles.Default);
var hasUserPermission = await context.IsGrantedAsync(IdentityPermissions.Users.Default);
var administrationMenu = context.Menu.GetAdministration();

if (hasRolePermission || hasUserPermission)
{
var administrationMenu = context.Menu.GetAdministration();
var l = context.GetLocalizer<IdentityResource>();

var l = context.GetLocalizer<IdentityResource>();
var identityMenuItem = new ApplicationMenuItem(IdentityMenuNames.GroupName, l["Menu:IdentityManagement"],
icon: "far fa-id-card");
administrationMenu.AddItem(identityMenuItem);

var identityMenuItem = new ApplicationMenuItem(IdentityMenuNames.GroupName, l["Menu:IdentityManagement"], icon: "far fa-id-card");
administrationMenu.AddItem(identityMenuItem);
identityMenuItem.AddItem(new ApplicationMenuItem(
IdentityMenuNames.Roles,
l["Roles"],
url: "identity/roles",
requiredPermissionName: IdentityPermissions.Roles.Default));

if (hasRolePermission)
{
identityMenuItem.AddItem(new ApplicationMenuItem(IdentityMenuNames.Roles, l["Roles"], url: "identity/roles"));
}

if (hasUserPermission)
{
identityMenuItem.AddItem(new ApplicationMenuItem(IdentityMenuNames.Users, l["Users"], url: "identity/users"));
}
}
identityMenuItem.AddItem(new ApplicationMenuItem(
IdentityMenuNames.Users,
l["Users"],
url: "identity/users",
requiredPermissionName: IdentityPermissions.Users.Default));

return Task.CompletedTask;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,24 +6,28 @@ namespace Volo.Abp.TenantManagement.Blazor.Navigation
{
public class TenantManagementBlazorMenuContributor : IMenuContributor
{
public virtual async Task ConfigureMenuAsync(MenuConfigurationContext context)
public virtual Task ConfigureMenuAsync(MenuConfigurationContext context)
{
if (context.Menu.Name != StandardMenus.Main)
{
return;
return Task.CompletedTask;
}

var administrationMenu = context.Menu.GetAdministration();

var l = context.GetLocalizer<AbpTenantManagementResource>();

var tenantManagementMenuItem = new ApplicationMenuItem(TenantManagementMenuNames.GroupName, l["Menu:TenantManagement"], icon: "fa fa-users");
var tenantManagementMenuItem = new ApplicationMenuItem(TenantManagementMenuNames.GroupName,
l["Menu:TenantManagement"], icon: "fa fa-users");
administrationMenu.AddItem(tenantManagementMenuItem);

if (await context.IsGrantedAsync(TenantManagementPermissions.Tenants.Default))
{
tenantManagementMenuItem.AddItem(new ApplicationMenuItem(TenantManagementMenuNames.Tenants, l["Tenants"], url: "tenant-management/tenants"));
}
tenantManagementMenuItem.AddItem(new ApplicationMenuItem(
TenantManagementMenuNames.Tenants,
l["Tenants"],
url: "tenant-management/tenants",
requiredPermissionName: TenantManagementPermissions.Tenants.Default));

return Task.CompletedTask;
}
}
}

0 comments on commit d5beb3d

Please sign in to comment.