2017-11-04 24 views
-1

ASP.NET BoilerplateのModule Zeroを使用しています。新しいメニュー項目がUIに表示されない

私はRoleメニュー項目の後MpaプロジェクトにProjectNameNavigationProviderクラスにSetNavigation方法で新しいメニュー項目を追加したが、それは管理ダッシュボードに表示されません。

私もメニュー項目の.CoreプロジェクトにLocalizationフォルダにtext/valueを設定しますが、問題が解決されません。

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

メニュー項目のrequiredPermissionNamePermissionNames.Pages_Newsと設定したので、その権限をユーザーに割り当てて、そのメニュー項目をUIで表示する必要があります。

ユーザーが持っているRoleに、または直接ユーザーに許可を割り当てることができます。

+0

返信ありがとうございましたが、私は管理者の役割にニュース権限を割り当てるときにチェックボックスが無効であると私はそれをクリックしたときに変更されません。 –

+0

はい。私は新しいルールTemporaryを定義し、それに新しい権限を割り当てます。 –

0

許可のマルチテナント側を確認する必要があります。テナント所有者またはテナントに許可を割り当てることができます。このフラグが設定されているかどうかを確認してください。これは重要。

MultiTenancySides:マルチテナントアプリケーションの場合、テナントまたはホストがパーミッションを使用できます。これはFlags列挙型なので、両者でパーミッションを使用できます。

関連ドキュメント:https://aspnetboilerplate.com/Pages/Documents/Authorization 使用例:

context.CreateChildPermission(PermissionNames.Pages_News, L("News"), multiTenancySides: MultiTenancySides.Tenant); 
関連する問題