MVC3 - Чтение ролей проверки подлинности контроллера - PullRequest
0 голосов
/ 06 июля 2011

Я заполняю навигационное меню MVC3 и хочу прочитать роли аутентификации, определенные для моего контроллера, для каждого из моих узлов SiteMap ..... есть ли способ сделать это без использования Reflection?

Ответы [ 3 ]

1 голос
/ 07 июля 2011

Вы можете использовать MVC SiteMap Provider для создания вашего меню. Он имеет встроенную систему безопасности, основанную на AuthrizeAttribute. Вы можете легко его расширить.

0 голосов
/ 08 июля 2011

Мне было интереснее перечислять контроллеры ...., а не проверять роли пользователя в представлении. Я надеялся избежать использования провайдера CodePlex Sitemap ..... В настоящее время я использую Telerik MVC Extensions для этой настройки безопасности меню в настоящее время.

Я надеялся, что MVC3 уже может иметь эту функцию.

0 голосов
/ 06 июля 2011

Вы действительно можете сделать это в своем представлении (Razor sintax):

@if(User.IsInRole("role_name") {
    @* Show or not show the item depending on the user's role *@
}

Просто измените de @ на <% %>, если вы используете WebFormsViewEngine вместо RazorViewEngine.

То же самое работает в вашем контроллере, кстати:

public ActionResult MyAction()
{
    if(User.IsInRole("role_name") 
    { }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...