Как я могу использовать несколько форм ajax с проверкой AntiForgery на одной странице MVC3?
Когда у нас есть несколько возможных форм для отправки на контроллер на одной и той же странице cshtml, проверка Antiforgery не работает. Мы просмотрели код MVC3 и обнаружили, что проблема заключается в этой части кода:
if (!String.Equals(cookieToken.Value, formToken.Value, StringComparison.Ordinal)) {
// error: form token does not match cookie token
throw CreateValidationException();
}
У нас есть что-то вроде cshtml:
@using (@Ajax.BeginForm()) {
@Html.AntiForgeryToken()
<input type="submit" class="buttonBlue" value="form1" />
}
@using (@Ajax.BeginForm()) {
@Html.AntiForgeryToken()
<input type="submit" class="buttonBlue" value="form2" />
}
Можете ли вы помочь мне решить эту проблему? Мы обнаружили, что после удаления одного из жетонов защиты от подделки все работает, как и ожидалось.
Мы попытались установить машинный ключ для защиты от подделки, и он тоже не сработал.
С уважением.