Нет, вы не должны загромождать ваши представления Roles.IsUserInRole
, это не обязанность представления проверять роли, это задание фильтра / авторизации для заполнения модели представления так, чтобы у вас было только:
@if (Model.ShouldDisplaySomeSection)
{
... // some section
} else {
... // not authorized
}
Также обратите внимание, что если вы украсили действие контроллера стандартным атрибутом [Authorize]
, и у пользователя нет достаточных ролей, это действие может никогда не быть выполнено, и представление никогда не попадет.
Лично я нахожу Код шоссе разработчика в качестве чрезвычайно полезного контрольного списка безопасности, даже если он не ограничен MVC.