Я использую ELMAH для обработки ошибок на моих сайтах MVC, и я заметил за последние пару недель, что у меня появилось несколько криптографических исключений. Отображается следующее сообщение:Ошибка маркера antiforgery ASP.MVC и криптографические ошибки
System.Security.Cryptography.CryptographicException: Заполнение недопустимы и не может быть удалено.
System.Web.Mvc.HttpAntiForgeryException: Необходимый токен анти-подделки не был прилагается или недействительно. ---> System.Web.HttpException: проверка MAC-адреса viewstate не удалась. Если это приложение размещено кластером Web Farm или , убедитесь, что конфигурация указывает то же самое значение validationKey и валидацию . AutoGenerate не может использоваться в кластере. --->
Приложение не работает в кластере, и я не могу воспроизвести эти ошибки. Они выглядят как действительные запросы, а не почтовые сообщения, и содержат файл cookie __RequestVerificationToken. У меня есть требуемый HTML-помощник на странице, внутри формы (моя форма входа).
У меня пока не было жалоб пользователей, поэтому я предполагаю, что в конечном итоге это работает для тех, кто пытается войти в систему, но мне остается удивляться, почему это может произойти.
Любой, кто видит это поведение или имеет какие-либо идеи о том, как диагностировать исключение - как я уже сказал, я не могу заставить его потерпеть неудачу. При удалении файла cookie в FF возникает другая ошибка. Изменение файла cookie (изменение или удаление содержимого) также приводит к другой ошибке, равно как и изменение содержимого скрытого ввода токена на странице.
machineKey был правильным решением. – 2010-09-10 13:48:55
Подобный опыт - мой блог начал прерываться с перерывами после того, как я перенес его в ASP.NET MVC 2.Добавлено machineKey, и проблема исчезла. – 2010-09-10 13:49:23