新的菜单项未显示在用户界面

时间:2017-11-04 08:56:03

标签: asp.net-mvc aspnetboilerplate

我正在使用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"
                        )

请帮帮我吗?

2 个答案:

答案 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);