Данное руководство устарело. Актуальное руководство: Руководство по ASP.NET Core
Большую роль в веб-приложениях играют механизмы авторизации и аутентификации. Они позволяют разграничить доступ для различных групп пользователей, а также идентифицировать пользователей.
Аутентификация - это процесс идентицификации пользователя, то есть грубо говоря мы узнаем, что за пользователь посетил веб-приложение. А авторизация уже представляет процесс определения прав, которые могут быть даны аутентифицированному пользователю, его возможностей по доступу к ресурсам веб-приложения.
В главе, посвященной фильтрам, мы уже разбирали один момент, связанный с авторизацией - фильтр авторизации. Он используется в виде атрибута
Authorize
, который устанавливается либо для одиночного действия контроллера, либо для всего контроллера.
[Authorize] public ActionResult Index() { return View(); }
И после установки атрибута к данному ресурсу получат доступ только те пользователи, которые успешно осуществили вход в веб-приложение.
Мы также можем разрешить неавторизованным пользователям доступ к ресурсам, пометив их атрибутом AllowAnonymous
.
Авторизация в MVC опирается на три ключевых области, которые помогают управлять пользователями в системе. Это членство (membership), роли и профили.
Членство представляет управление регистрационными данными пользователей, которые затем используются для авторизации и аутентификации.
Роли - группы пользователей, которые используются для авторизации и разделения доступа к ресурсам.
Профили представляют различную информацию о пользователях, как например, имя, фамилию, рост, возраст и т.д.
Управление пользователями, членством и ролям производится с помощью провайдеров членства и ролей. В MVC 4 можно использовать различные провайдеры: как в виде API SimpleMembershipProvider, так и в виде универсальных провайдеров. При необходимости гибкая среда ASP.NET MVC позволяет создавать и использовать свои провайдеры членства/ролей и профилей со своей уникальной логикой.