«Токен файла 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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