2013-07-13 6 views
0

У меня есть проект веб-приложения с MVC 4, и я использую панель панели 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Как я могу изменить вид меню по роли пользователя?

ответ

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), чтобы проверить, имеет ли ваш аутентифицированный человек нужный вам доступ.

Смежные вопросы