Предотвращение доступа анонимных пользователей к вашему приложению¶
Самый простой уровень авторизации — позволять только проверенным пользователям выполнять конечную точку. Тут есть два исхода:
- Пользователь прошел аутентификацию — действие выполняется в обычном режиме;
- пользователь не прошел аутентификацию — пользователь не может выполнить конечную точку.
Такой уровень авторизации достигается при помощи атрибута [Authorize]:
public class RecipeApiController : ControllerBase
{
public IActionResult List() // Это действие может выполнить кто угодно
{
return Ok();
}
[Authorize] // Применяем атрибут к действиям, целым контроллерам или страницам
public IActionResult View() // Это действие могут выполнять только прошедшие аутентификацию пользователи
{
return Ok();
}
}
Атрибут
[Authorize] можно применять в области метода действия, контроллера, страницы Razor или глобально1.
Если применять атрибут глобально, понадобится способ добавить исключения. Это можно сделать, используя атрибут [AllowAnonymous]:
[Authorize] //Применяем атрибут на весь контроллер
public class AccountController : ControllerBase
{
public IActionResult ManageAccount()
{
return Ok();
}
[AllowAnonymous]
public IActionResult Login()
{
return Ok();
}
}
Внимание!
Если атрибут [Authorize] применяется глобально, необходимо добавить атрибут [AllowAnonymous] к действиям входа, ошибок и сброса пароля, а также любым другим действиям, которые должны выполнять пользователи, не прошедшие аутентификацию.
-
О глобальном применении атрибута
[Authorize]можно почитать в блоге автора ↩
Последнее обновление :
5 мая 2023 г.
Дата создания : 8 октября 2022 г.
Дата создания : 8 октября 2022 г.