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