«Токен файла 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#»