Пользовательские ограничения на представления, основанные на пользовательских свойствах клиента - PullRequest
0 голосов
/ 24 февраля 2011

Я использую ASP.NET MVC 3.

Я хотел бы создать фильтр действий, чтобы определить, может ли пользователь получить доступ к представлению.У меня есть класс User со свойствами, такими как IsAdministrator, IsTrusteeUser и IsAuditUser.Как бы я создал фильтр действий для блокировки определенных пользователей, если они не принадлежат к некоторым из этих ролей?

И как мне использовать это в моих представлениях, чтобы скрыть / отобразить определенные элементы управления?Я бы оценил некоторый код:)

Ответы [ 2 ]

2 голосов
/ 24 февраля 2011

Зачем изобретать велосипед?

Поместите фильтр действия [Authorize] на действие / контроллер, указав требуемую роль:

[Authorize(Roles = "Administrator")]
public ActionResult SomeAdminPage() { // }

Либо так, либо вы могли бы реализоватьсвой собственный фильтр авторизации путем реализации IAuthorizationFilter.

1 голос
/ 24 февраля 2011
  1. Вы можете реализовать интерфейс IActionFilter для написания такого расширения атрибута для проверки прав доступа пользователей, немного о кодировании, которое вы можете найти в здесь

  2. Чтобы скрыть / отобразить определенные элементы управления в пользовательском интерфейсе, это не работа ActionFilters, скорее, вы должны либо создать отдельные представления для каждого пользователя и перенаправить его соответствующим образом, либо сделать некоторые

Если / иначе

, чтобы добиться этого.

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