Простая авторизация

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

Например, следующий код ограничивает доступ к AccountController для любого пользователя.

[Authorize]
public class AccountController : Controller
{
    public ActionResult Login()
    {
    }

    public ActionResult Logout()
    {
    }
}

Если вы хотите применить авторизацию к методу действия, просто примените атрибут Authorize к самому методу:

public class AccountController : Controller
{
    public ActionResult Login()
    {
    }

    [Authorize]
    public ActionResult Logout()
    {
    }
}

Теперь только пользователи, прошедшие аутентификацию, могут получить доступ к функции выхода из приложения.

Также вы можете использовать атрибут AllowAnonymous, чтобы пользователи, не прошедшие аутентификацию, могли что-то делать; например:

[Authorize]
public class AccountController : Controller
{
    [AllowAnonymous]
    public ActionResult Login()
    {
    }

    public ActionResult Logout()
    {
    }
}

Это позволит только аутентифицированным пользователям получить доступ к контроллеру Account, а метод действия Login будет доступен для всех пользователей.

Предупреждение

[AllowAnonymous] передает все операторы аутентификации. Если вы комбинируете [AllowAnonymous] и любой атрибут [Authorize], тогда атрибуты Authorize будут игнорироваться. Например, если вы примените [AllowAnonymous] на уровне контроллера, атрибуты [Authorize] будут игнорироваться и в контроллере, и в его методах действия.

Поделись хорошей новостью с друзьями!
Следи за новостями!