Несколько AntiForgeryTokens в представлении с MasterPage - PullRequest
4 голосов
/ 11 февраля 2010

Кто-нибудь имел дело с несколькими AntiForgeryTokens в дочернем представлении главной страницы? Сценарий, о котором я думаю, выглядит следующим образом:

  • Представление содержит форму с AntiForgeryToken, отображаемым как скрытое поле.
  • Представление содержится на главной странице с другой отправленной формой AJAX.

Проблема здесь в том, что мне нужно инкапсулировать скрытое поле в форму, и в то же время мне нужно отобразить другой токен для отправки в форму, отправленную AJAX на главной странице. Я не могу предположить, что токен будет отображаться на дочерней странице, поскольку на дочерней странице может не быть формы.

Моей первой мыслью было бы создать единый глобальный AntiForgeryToken для всей страницы, который использовался всеми сообщениями, но тогда формы не будут публиковать токен, поскольку скрытое поле ввода будет находиться вне формы.

Спасибо за любой совет!

1 Ответ

8 голосов
/ 11 февраля 2010

Должна быть возможность визуализировать Html.AntiForgeryToken () отдельно в каждой форме.Среда выполнения разработана с учетом этого сценария.Первый вызов AntiForgeryToken () устанавливает флаг, говорящий: «Я установил токен, любые другие вызовы для этого запроса должны использовать то же значение токена».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...