Перейти к содержанию

Обработка запросов, не прошедших аутентификацию

Если пользователь отвечает требованиям авторизации, то запрос проходит беспрепятственно через компонент AuthorizationMiddleware, а конечная точка выполняется в EndpointMiddleware. Если он не отвечает требованиям, AuthorizationMiddleware отклоняет запрос:
Pasted image 20220618145738.png
При этом (см. картинку) генерируется один из двух вариантов ответов:

  • вызов (challenge) — этот ответ указывает на то, что пользователь не выполнил вход;
  • запрет (forbid) — этот ответ указывает на то, что пользователь выполнил вход, но не отвечает требованиям.

Примечание

Атрибут [Authorize] в базовой форме будет генерировать ответы типа “вызов”

Точный ответ HTTP, сгенерированный “вызовом” или “запретом”, обычно зависит от типа приложения.

Для традиционных веб-приложений, например, использующих ASP.NET Core Identity вызовы и запреты генерируют HTTP-перенаправление на соответствующую страницу приложения; “вызов” — на страницу аутентификации, “запрет” — на страницу с информацией о запрете.

Веб-API, напротив, обычно просто отвечает 401 Unauthorized для “вызова” и 403 Forbidden для запрета.


Последнее обновление : 5 мая 2023 г.
Дата создания : 8 октября 2022 г.

Комментарии

Комментарии