Я использую ELMAH для обработки ошибок на своих сайтах MVC, и за последние пару недель я заметил, что я получаю некоторые исключения CryptographicException. Сообщение:
System.Security.Cryptography.CryptographicException: дополнение является недопустимым и не может быть удалено.
System.Web.Mvc.HttpAntiForgeryException:
Требуемый токен против подделки не был
поставлено или было недействительным. --->
System.Web.HttpException: проверка
из MAC состояния представления не удалось. Если это
приложение размещается на веб-ферме или
кластер, убедитесь, что
конфигурация определяет то же самое
validationKey и validation
алгоритм. Автогенерация не может быть использована
в кластере. --->
Приложение не работает в кластере, и я не могу воспроизвести эти ошибки. Они выглядят как действительные запросы, а не как сообщение, созданное вручную, и содержат файл cookie __RequestVerificationToken. У меня есть необходимый помощник HTML на странице, внутри формы (форма входа в систему).
У меня еще не было жалоб пользователей, поэтому я предполагаю, что в конечном итоге это сработает для тех, кто пытается войти в систему, но мне интересно, почему это может происходить.
Кто-нибудь еще видел такое поведение или имел какие-либо идеи о том, как диагностировать исключение - как я уже сказал, я не могу заставить его потерпеть неудачу. Удаление cookie в FF приводит к другой ошибке. Изменение cookie (изменение или удаление содержимого) также приводит к другой ошибке, как и изменение содержимого скрытого ввода токена на странице.