我正在使用ASP.NET Boilerplate的模块零。
我在SetNavigation
菜单项后ProjectNameNavigationProvider
项目的Mpa
课程中的Role
课程中添加了一个新菜单项,但它没有出现在管理仪表板中。
我也在text
项目的value
文件夹中为菜单项设置了Localization
/ .Core
,但问题仍未得到解决。< / p>
ProjectNameNavigationProvider
类和SetNavigation
方法
public override void SetNavigation(INavigationProviderContext context)
{
context.Manager.MainMenu
.AddItem(
new MenuItemDefinition(
PageNames.Home,
L("HomePage"),
url: "",
icon: "home",
requiresAuthentication: true
)
).AddItem(
new MenuItemDefinition(
PageNames.Tenants,
L("Tenants"),
url: "Tenants",
icon: "business",
requiredPermissionName: PermissionNames.Pages_Tenants
)
).AddItem(
new MenuItemDefinition(
PageNames.Users,
L("Users"),
url: "Users",
icon: "people",
requiredPermissionName: PermissionNames.Pages_Users
)
).AddItem(
new MenuItemDefinition(
PageNames.Roles,
L("Roles"),
url: "Roles",
icon: "local_offer",
requiredPermissionName: PermissionNames.Pages_Roles
)
)
.AddItem(
new MenuItemDefinition(
PageNames.News,
L("News"),
url: "News",
icon: "fa-newspaper-o",
requiredPermissionName: PermissionNames.Pages_News
)
)
.AddItem(
new MenuItemDefinition(
PageNames.About,
L("About"),
url: "About",
icon: "info"
)
请帮帮我吗?
答案 0 :(得分:0)
由于您将菜单项的requiredPermissionName
设置为PermissionNames.Pages_News
,因此您需要为用户分配该权限,以便在UI中查看该菜单项。
您可以将权限分配给用户拥有的Role
,也可以直接分配给用户。
答案 1 :(得分:0)
您必须检查权限的多租户方面。可以为租户所有者或租户分配权限。检查您是否设置了此标志。这很重要。
MultiTenancySides :对于多租户应用程序,租户或主机可以使用权限。这是Flags枚举,因此可以在双方使用权限。
相关文档:https://aspnetboilerplate.com/Pages/Documents/Authorization 用法示例:
context.CreateChildPermission(PermissionNames.Pages_News, L("News"), multiTenancySides: MultiTenancySides.Tenant);