Реализация контроля доступа в ASP.NET MVC 3 - PullRequest
2 голосов
/ 24 июля 2011

Я пишу приложение на основе ролей в ASP.NET MVC 3. Очевидно, что в зависимости от роли пользователя будет зависеть, к каким страницам или функциям он имеет доступ.Я не совсем уверен, лучшее место или способ реализовать это в приложении MVC.Любая информация или ссылки на определенные ресурсы будут оценены.

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 24 июля 2011

Если вы хотите внедрить собственную систему членства, вы можете выполнить следующие шаги:

  1. Поместите HttpModule (класс, унаследованный от IHttpModule) в способ защищенных запросов (запросов, для которых вы хотите определить контроль доступа)
  2. В этом модуле создайте обработчик AuthenticateRequest событие
  3. В этом обработчике проверьте запрос на Cookie аутентификации . Этот файл cookie может быть вашим или вы можете использовать класс FormsAuthentication для создания, шифрования и дешифрования файлов cookie для вас.
  4. Если cookie присутствует, загрузите роли пользователя и сохраните их в HttpContext.Current.Items как пару ключ / значение. Таким образом, вы можете использовать его где угодно.
  5. Если нет, то перенаправить пользователя на страницу входа. Адрес страницы входа можно получить из настроек или web.config
  6. На странице входа в систему получите информацию для входа пользователя, включая имя пользователя и пароль, затем создайте Authentication Cookie и отправьте его клиенту.
1 голос
/ 24 июля 2011

Поставщик членства встроен в .NET и может использоваться из MVC3. Пост, на который я ссылаюсь, представляет собой обзор того, как использовать реализацию по умолчанию, поставляемую с .NET Framework, можно создать свой собственный , но я предлагаю сначала ознакомиться с настройками по умолчанию.

...