Проверка подлинности с помощью форм в веб-API ASP.NET
Майк Уассон
Для проверки подлинности на основе форм используется HTML-форма для отправки учетных данных пользователя на сервер. Это не интернет-стандарт. Проверка подлинности с помощью форм подходит только для веб-API, которые вызываются из веб-приложения, чтобы пользователь смог взаимодействовать с HTML-формой.
Преимущества | Недостатки |
---|---|
|
|
Вкратце проверка подлинности с помощью форм в ASP.NET работает следующим образом:
- Клиент запрашивает ресурс, требующий проверки подлинности.
- Если пользователь не прошел проверку подлинности, сервер возвращает HTTP 302 (найдено) и перенаправляется на страницу входа.
- Пользователь вводит учетные данные и отправляет форму.
- Сервер возвращает еще один HTTP 302, который перенаправляет обратно на исходный URI. Этот ответ содержит файл cookie проверки подлинности.
- Клиент снова запрашивает ресурс. Запрос включает файл cookie проверки подлинности, поэтому сервер предоставляет запрос.
Дополнительные сведения см. в статье Общие сведения о проверке подлинности с помощью форм.
Использование проверки подлинности на основе форм с веб-API
Чтобы создать приложение, использующее проверку подлинности на основе форм, выберите шаблон "Интернет-приложение" в мастере проектов MVC 4. Этот шаблон создает контроллеры MVC для управления учетными записями. Вы также можете использовать шаблон "Одностраничное приложение", доступный в обновлении ASP.NET осенью 2012 г.
В контроллерах веб-API можно ограничить доступ с помощью атрибута [Authorize]
, как описано в разделе Использование атрибута [Authorize].
Проверка подлинности на основе форм использует файл cookie сеанса для проверки подлинности запросов. Браузеры автоматически отправляют все соответствующие файлы cookie на целевой веб-сайт. Эта функция делает проверку подлинности на основе форм потенциально уязвимой для атак с подделкой межсайтовых запросов (CSRF) см. статью Предотвращение атак csRF.
Проверка подлинности с помощью форм не шифрует учетные данные пользователя. Таким образом, проверка подлинности на основе форм не является безопасной, если не используется с SSL. См . раздел Работа с SSL в веб-API.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по