В MVC вы обычно используете атрибут [Authorize]
для управления авторизацией. Контроллеры или отдельные действия, связанные с этим атрибутом, потребуют, чтобы пользователь был авторизован для доступа к ним - все остальные действия будут доступны анонимным пользователям.
Другими словами, подход «черного списка», при котором действия, требующие авторизации, заносятся в черный список для анонимных пользователей, использующих [Authorize]
- будут доступны все действия (без атрибута).
Обновление:
В MVC4 введен новый атрибут, а именно атрибут [AllowAnonymous]
. Вместе с атрибутом [Authorize]
теперь вы можете использовать подход белого списка. Подход «белого списка» достигается путем присвоения всего контроллера атрибуту [Authorize]
для принудительной авторизации для всех действий в этом контроллере. Затем вы можете одеть определенные действия, которые не требуют авторизации, с атрибутом [AllowAnonymous]
, и, таким образом, занести в белый список только эти действия. При таком подходе вы можете быть уверены, что случайно не забудете одеть действие с [Authorize]
, оставив его доступным для всех, даже если оно не должно.
Ваш код может быть примерно таким:
[Authorize]
public class UserController : Controller {
[AllowAnonymous]
public ActionResult LogIn () {
// This action can be accessed by unauthorized users
}
public ActionResult UserDetails () {
// This action can NOT be accessed by unauthorized users
}
}