ASP.MVC Permissioning: есть ли способ контролировать частичный контент? - PullRequest
0 голосов
/ 08 февраля 2012

Я пишу приложение ASP.MVC, и я знаю, что вы можете использовать фильтры авторизации на роликах для управления доступом к страницам, но мне интересно, каков наилучший подход, если вы хотите контролировать доступ к защищенным данным в пределах частичнойПросмотры.

Из того, что я прочитал, ASP.MVC не предлагает такой уровень детализации.

Это кажется достаточно простым, добавив пользовательские разрешения к модели в качестве атрибута, а затем используя простую фабрику для принятия решения.если представление должно быть визуализировано или пустое представление должно быть возвращено.

Пока у меня есть

RenderPartial (PartialFactory.IsAllowedToRender ("partalName ", Model.Security), Model)

, и Factory либо возвращает запрошенное представление, либо пустоечастичный вид.

Кто-нибудь пробовал это раньше или знает, почему никто не делает этого (кроме дополнительных усилий)

1 Ответ

0 голосов
/ 08 февраля 2012

Мы сделали то же самое с методами расширения для HtmlHelper.

RenderPartialIfExists и так далее.Не стыдно делать это, если это то, что вам нужно часто.

Делать это без расширений, как у вас, тоже работает, но его не так легко читать.Кроме того, рассмотрите возможность добавления вашей информации о безопасности в HttpContext.Current.Items, чтобы вам не приходилось постоянно передавать ее в модели, а все, что нужно для ее использования, помощники, контроллеры и т. Д., Имеют легкий доступ кэто, и вам нужно только получить его в начале запроса.

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