Токен-маркер анти-подделки и маркер поля формы не совпадают с MVC 4

Я использую модуль входа по умолчанию в ASP.NET MVC 4. Я не изменял код в приложении по умолчанию, и я размещал его на общем сервере.

После входа в систему, используя страницу входа по умолчанию. Я долгое время оставался браузером. Затем, очевидно, приложение перенаправляется на страницу входа, когда я пытаюсь выполнить любое действие controllerа с атрибутом [Authorize] .

Затем я снова пытаюсь войти в систему, и он дает ошибку, когда я нажимаю кнопку входа.

 The anti-forgery cookie token and form field token do not match. 

введите описание изображения здесь

Вход в систему

 // POST: /Account/Login [HttpPost] [AllowAnonymous] [ValidateAntiForgeryToken] public ActionResult Login(LoginModel model, string returnUrl) { if (ModelState.IsValid && WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe)) { return RedirectToLocal(returnUrl); } // If we got this far, something failed, redisplay form ModelState.AddModelError("", "The user name or password provided is incorrect."); return View(model); } 

Я решил проблему, явно добавив машинный ключ в web.config.

Примечание. По соображениям безопасности не используйте этот ключ. Создайте один из https://support.microsoft.com/en-us/kb/2915218#AppendixA . Не используйте онлайн-данные, подробности, http://blogs.msdn.com/b/webdev/archive/2014/05/07/asp-net-4-5-2-and-enableviewstatemac.aspx

   

Вот сайт, который генерирует уникальные ключи машины:

http://www.developerfusion.com/tools/generatemachinekey/

Другая причина для этой ошибки заключается в том, что вы переходите между областями [Authorize], которые не кэшируются браузером (это было бы сделано специально, чтобы заблокировать пользователей от просмотра защищенного контента при их выходе из системы и, например, с помощью кнопки «Назад») ).

Если это так, вы можете сделать свои действия не кэшированными, поэтому, если кто-то нажал кнопку «Назад» и попал в форму с помощью @ Html.AntiForgeryToken (), токен не будет кэшироваться ранее.

См. Это сообщение о том, как добавить [NoCache] ActionFilterAttribute: как обрабатывать отправку формы ASP.NET MVC Back button?

Вот сайт, который генерирует уникальные ключи Machnie Keys http://www.developerfusion.com/tools/generatemachinekey/

убедитесь, что вы поместили @ Html.AntiForgeryToken () в форму вашей страницы

У меня была эта проблема в течение длительного времени и предполагалось, что с ASP.NET что-то не так.

На самом деле это был сервер. Тогда я был с WinHost, и у них есть ограничение на 200 МБ памяти. Как только у меня было ~ 20 пользователей одновременно, мой лимит был достигнут. На этом этапе все были выведены из системы и дали эти проблемы.

Для меня это было вызвано отправкой формы с помощью тега кнопки. Изменение этого параметра на тег отправки сообщения устраняет проблему.

  • Как получить общеansible IP-адрес пользователя в C #
  • Добавление атрибутов проверки с помощью модели данных Entity Framework
  • Как создать пользовательские страницы ошибок в ASP.NET MVC 4
  • Условная валидация в asp.net MVC4
  • Dropdownlistfor не отобразит правильный выбор
  • ASP.NET MVC 4 - для свойств коллекции моделей записей в столбцах, но foreach не
  • Почему Html.Raw ускоряет амперсанд в привязном теге в ASP.NET MVC 4?
  • Отключить проверку подлинности Windows для WebAPI
  • MVC4 - Связывание не работает, если для оптимизаций установлено значение true
  • Сообщения / ответные сообщения при использовании HttpClient
  • Как создать URL веб-API ASP.NET?
  • Interesting Posts

    Подключите светодиодный ЖК-дисплей Apple 24 "к ПК

    Когда следует использовать шаблон дизайна посетителя?

    Как мне получить X11 Forwarding для работы с Windows с PuTTY и Xming?

    Устранение неполадок BadImageFormatException

    Mac OS X автоматически отключает аэропорт, если кабель Ethernet подключен

    Как вы проверяете двоичное дерево поиска?

    Почему я не должен использовать «венгерскую нотацию»?

    Начало деятельности с помощью уведомления: избегание повторяющихся действий

    Как создать экземпляр из строки в C #?

    Предотвратить доступ пользователя к ранее посещаемой защищенной странице после выхода из системы

    Отключить автоматический запуск файла .exe?

    Почему этот код использует случайные строки для печати «hello world»?

    Настройка ведения журнала Hibernate с использованием файла конфигурации XML Log4j?

    HP PSC 1410 – все изображения сканера – черные

    curl: (1) Протокол https не поддерживается или отключен в libcurl

    Давайте будем гением компьютера.