ValidateAntiForgeryTokenAttribute
'Представляет атрибут, который используется для определения того, был ли подделан запрос к серверу.'
в кавычках MSDN.Html.AntiForgeryToken()
выводит скрытое поле в форму, что-то вроде: <input name="__RequestVerificationToken" type="hidden" value="XXX" />
.
То, что ValidateAntiForgeryTokenAttribute
делает в обратной записи, сравнивает опубликованное значение с ранее сохраненным файлом cookie, чтобы убедиться, чтоони совпадают.Подробнее см. http://aspnet.codeplex.com/SourceControl/changeset/view/72551#338576 (метод OnAuthorization
).Файл cookie имеет имя RequestVerificationToken_Lw (вы можете использовать инструмент проверки файлов cookie, например, FireCookie , чтобы увидеть это).
Сохраненный файл cookie является файлом cookie сеанса (важныйнемного).Это означает, что по истечении времени ожидания авторизации (по умолчанию 30 минут в .NET) срок действия файла cookie истекает, он не отправляется со следующим запросом, и сравнение со значением скрытого поля завершается неудачно, что приводит к HttpAntiForgeryException
. * 1025.*