如何通过用户访问角色更改菜单视图?

时间:2013-07-13 08:25:58

标签: asp.net-mvc-4 telerik-mvc

我有一个带有MVC 4的Web应用程序项目,我使用Telerik面板栏并将其绑定到我的菜单的站点地图。但是现在我希望每个用户根据我的程序中的用户访问角色查看菜单的特定项目并隐藏提醒菜单项。我怎样才能在MVC中完成这项工作,欢迎任何提示或技巧 this is link of Telerik website that i use it for creating my menu just i use it in partial view and just render its action in my layout razor code

1 个答案:

答案 0 :(得分:0)

假设你有这个全局类:

public class AccessControlList{

   public static bool IsAdmin {
       get{
         //put your code here 
         return false;
       }
   }
   public static bool HasOpenFileAccess{
       get{
         //put your code here 
         return true;
       }
   }

}

然后在你的view.cshtml中你可能有这样的东西:

@(Html.Telerik().Menu()
     .Name("mnuMain")
     .Items(itemAdder =>
     {
         itemAdder.Add()
             .Text("Admin Menu")
             .Visible(false)
             .Url("~/Home")
             .Visible(AccessControlList.IsAdmin);

         itemAdder.Add()
             .Text("Files")
             .Items(subItemAdder =>
             {
                 subItemAdder.Add()
                     .Text("Open File...")
                     .Url("~/Files/Open")
                     .Visible(AccessControlList.HasOpenFileAccess)
             ....

完成AccessControlList类(AccessControlList.cs文件)以检查经过身份验证的人是否具有您所需的访问权限。