Как использовать пользовательскую авторизацию на основе ролей с аутентификацией Windows в ASP.NET MVC3? - PullRequest
2 голосов
/ 27 января 2012

Я создаю приложение для интрасети ASP.NET MVC3 с аутентификацией Windows . Я только хочу, чтобы пользователи домена использовали это приложение. Как только пользователь домена аутентифицирован (с Active Directory ), я планирую создать таблицы пользователей (с именем пользователя AD), Roles & UserRoles в SQL Server для авторизации .

Так что, если пользователь является частью роли, которая имеет некоторый набор разрешений (для доступа к контроллерам / действиям), я должен разрешить только пользователям в этой роли выполнять / просматривать их.

Например: если есть действие / Локации / Создать, роли, которым это разрешено, могут делать только это.

Может кто-нибудь дать мне несколько советов? Должен ли я создать пользовательский фильтр действий и использовать атрибут фильтра для любого метода действия, к которому я хочу применить фильтр?

1 Ответ

0 голосов
/ 28 января 2012

Чтобы ограничить доступ к представлению ASP.NET MVC, вы ограничиваете доступ к методу действия, который отображает представление.Для этого в инфраструктуре MVC предусмотрен класс AuthorizeAttribute.

Пример:

[Authorize(Roles = "Admin, Super User")]
public ActionResult AdministratorsOnly()
{
 return View();
}

Подробнее см. здесь .

Обратите внимание, что использование атрибута [Authorize] требует использования какого-либо поставщика членства.

...