2009-11-12 2 views
0

Я работаю с ASP.Net MVC, а также с DynamicData, и мне нужно добавить защиту на основе ролей.Безопасность ASP.Net: запросы Wrap в IHttpHandler или использование RoleProvider?

Должен ли я осуществить это с помощью:

  • IHttpHandler с пользовательскими действиями, которые проверяют, если пользователь имеет право?
  • Или я должен использовать RoleProvider?
  • Или, может быть, какая-то комбинация из двух?

Если RoleProvider является жизнеспособным вариантом, когда мне понадобится расширить абстрактный базовый класс RoleProvider и использовать те, которые включены. MSDN says, вы должны расширить этот класс только в том случае, если «вам необходимо сохранить информацию о роли в источнике данных, который не поддерживается поставщиками роли, включенными в .NET Framework». Пожалуйста, изложите это. Объясните, как это будет работать в обстоятельствах, когда мне необходимо расширить базовый класс, но вместо этого использовать включенных поставщиков роли. Какие источники данных поддерживаются включенными поставщиками?

Кроме того, будет ли ваш ответ на эти вопросы различными для ASP.Net MVC и DynamicData ASP.Net?

ответ

0

Все MSDN говорит, что «мы написали это для вас, протестировали и отладили его, пожалуйста, используйте его».

Поставщики роли по умолчанию работают отлично, если вы потратите некоторое время на их настройку. Реализация собственной тоже не слишком сложна.

Я бы ответил почти так же. С помощью MVC вы устанавливаете атрибуты Authorize для своих действий Controller и/или Controller. С динамическими данными вы настраиваете содержимое внутри файла web.config.