«Токен файла cookie для защиты от подделки и токен поля формы не совпадают» на странице с ViewModel и двумя формамиC#

Место общения программистов C#
Anonymous
«Токен файла cookie для защиты от подделки и токен поля формы не совпадают» на странице с ViewModel и двумя формами

Сообщение Anonymous »

В приложении MVC4, работающем в Mono, я получаю сообщение об ошибке:


Токен файла cookie защиты от подделки и токен поля формы не совпадают


на странице «Вход и регистрация». На этой странице есть LoginOrRegisterViewModel, которая выглядит следующим образом:

Код: Выделить всё

public class LoginOrRegisterViewModel
{
public LoginModel Login { get; set; }
public RegisterModel Register { get; set; }
}
Который передается на страницу по запросу GET.

На странице есть две Html.BeginForms(): форма входа и форма регистрации. Первый вызывает действие Login на контроллере, второй — действие Register. Оба действия имеют атрибут ValidateAntiForgeryToken. При отправке формы из LoginOrRegisterViewModel получается соответственно вход или регистрация.

Когда страница загружается и зарегистрированный пользователь пытается войти в систему через некоторое время (несколько часов?), сначала отображается страница «Войти и зарегистрироваться», но когда отправляется форма входа, ошибка выше отображается до тех пор, пока не обновится корневая страница.

Я включил машинный ключ в Web.config и добавили Html.AntiForgeryToken() в обе формы. У меня есть подозрение, что эта ошибка может быть связана с двумя формами и моделью представления.

Кто-нибудь знает, как можно исправить ошибку? Спасибо.

Подробнее здесь: https://stackoverflow.com/questions/295 ... age-with-v

Вернуться в «C#»