У меня есть страница, которая при загрузке генерирует токен защиты от подделки с @Html.AntiForgeryToken()
. Это происходит в файле макета. Страница может открыть несколько всплывающих окон с iframe. Этот iframe генерирует свой собственный токен защиты от подделки с @Html.AntiForgeryToken()
.
На странице, где вы можете открыть всплывающее окно, пользователь может выйти из системы. Запрос на выход из системы включает маркер защиты от подделки, созданный при загрузке этой страницы.
Учитывая, что я делаю это:
- Загрузить страницу, где можно открыть всплывающие окна (сгенерирован токен защиты от подделки)
- Открыть всплывающее окно с помощью iframe (в iframe создается новый токен защиты от подделки)
- Выйти со страницы, где я могу открыть всплывающие окна
Выход завершен успешно. Это почему? Разве новый токен не заменит старый на сервере? Или токен защиты от подделки, который я проверяю, сохраняется в браузере как файл cookie, чтобы при передаче значения токена защиты от подделки в запрос на выход из браузера браузер также передавал соответствующий файл cookie токена подделки, с которым я сравниваю?
Я нахожусь на ASP.NET 4.5.2 и MVC 5.2.3.