Права пользователя для определенных представлений на основе ролей - PullRequest
1 голос
/ 23 февраля 2011

Я использую ASP.NET MVC 3. Пожалуйста, извините мою терминологию. Мы назначаем роли определенным людям на работе, а затем используем проверку подлинности Windows, чтобы определить, какие роли выполняет пользователь. Допустим, роли - это RoleA, RoleB и RoleC. Так что теперь я получаю список ролей для пользователя. Давайте скажем, что UserA принадлежит RoleA и RoleB. Некоторые из моих взглядов должны быть аутентифицированы, поскольку не все могут просматривать определенные взгляды. Допустим, ViewA могут просматривать только пользователи, которые принадлежат ролям RoleA и RoleB. Как бы я это сделал? Что мне нужно было бы изучить? Когда пользователь, который не принадлежит к этим ролям, пытается получить доступ к представлениям, он / она должен быть перенаправлен на страницу ошибки.

Кроме того, мне нужен какой-то вспомогательный метод для проверки этих ролей, который будет использоваться в моих представлениях для скрытия / отображения определенных элементов управления. Где лучше всего это использовать?

Любой пример кода / статьи будут оценены.

1 Ответ

2 голосов
/ 23 февраля 2011
[Authorize(Roles = "RoleA,RoleB")]
public ActionResult Foo()
{
    return View();
}

А если вы хотите проверить роли в представлении:

@if (User.IsInRole("RoleA"))
{
    <div>This will be visible only to users in RoleA</div>
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...