Настройка MachineKey для AntiForgeryToken в ASP.NET MVC

Я развертывал свой веб-сайт asp MVC 5 на веб-сайте Azure. Все было хорошо, пока я не попытался управлять своей учетной записью (смена пароля), он выдавал такую ​​ошибку:

Токен против подделки не может быть расшифрован. Если это приложение размещено на веб-ферме или в кластере, убедитесь, что на всех компьютерах установлена ​​одна и та же версия веб-страниц ASP.NET и что в конфигурации указаны явные ключи шифрования и проверки. Автогенерация не может использоваться в кластере.

Я использовал Asp Identity, поэтому весь код встроен. Я искал решение и нашел две возможности:

1) Это потому, что есть два @html.antiforgerytoken. Один относится к форме контроллера MANAGE, а другой - к частичному представлению входа в систему на панели навигации. Я попытался исключить частичное представление входа в систему, но ошибка не исчезла, поэтому я пришел к выводу, что проблема может быть не в этом.

2) Как говорит ошибка, возможно, речь идет о MACHINE KEY. Я попытался ввести настройки в веб-конфигурации. Существует два популярных способа генерации этого машинного ключа: первый использует ISS, а второй - сторонний. Я хотел использовать ISS, но мой ISS8 не показывает модуль, чтобы увидеть машинный ключ, что странно, что я не смог найти никакого решения для него. Затем я попробовал третье лицо и создал что-то вроде этого:

<machineKey validationKey="4359B782C08EF91E2AA6CA8AD46C0D63BF323E97ABAA06FBDA1535A1FA1CD2B7702B2BACDC937074ED65FC16D3ECA0F674BBAC8675910AF921D301CA22343AA1" decryptionKey="1A956B2A0405EC07AEBEFBA40DA7E61E2E17F001B868D7507EB3F3CD2AFF060E" validation="SHA1" decryption="AES" />

Затем я повторно развернул свой веб-сайт, но ошибка не исчезла. Кто-нибудь может мне помочь, пожалуйста!

0 ответов

Другие вопросы по тегам