Использование ролей в приложении MVC 3 VB.NET - PullRequest
2 голосов
/ 04 ноября 2011

У меня есть проблема, связанная с ролями в приложении mvc 3 vb.net ... Скажем, у меня есть роли администратора, разработчика, PowerAdmin ... если я хочу ограничить параметры просмотра на основе ролей, которые я использовал в операторе if чтобы скрыть ссылку, такую ​​как:

 @If HttpContext.Current.User.IsInRole("Admin") And Request.IsAuthenticated Then
 @<li><a href="@Url.Content("~/Admin/")">Administrative Tools</a></li>
 End If

Я также украшаю действия контроллера местами авторизацией. Проблема в том, что, скажем, у меня есть несколько действий, которые должны быть доступны только для пользователя, который находится во всех трех ролях или даже в двух ролях в любой комбинации. Я бы просто вложил операторы if в представление, чтобы скрыть эти элементы представления ? Как насчет функций контроллера? Можно ли украсить функции контроллера чем-то вроде

   <Authorize(Roles:="Admin" + "PowerAdmin")>

, а затем эта функция доступна только кому-то с обеими ролями ...

Ответы [ 2 ]

2 голосов
/ 07 ноября 2011

просто напишите две отдельные строки:

<Authorize(Roles := "Admin")> _
<Authorize(Roles := "PowerAdmin")> _
0 голосов
/ 04 ноября 2011

Попробуйте поискать в Enum;Это идеальный класс для такого рода вещей.

Надеюсь, это поможет вам выбрать правильный путь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...