2

我正在 Azure 网站中部署我的 asp MVC 5 网站。一切都很好,直到我尝试管理我的帐户(更改密码),它给出了这样的错误:

无法解密防伪令牌。如果此应用程序由 Web Farm 或群集托管,请确保所有计算机都运行相同版本的 ASP.NET 网页,并且配置指定显式​​加密和验证密钥。AutoGenerate 不能在集群中使用。

我使用的是 Asp Identity,所以所有代码都是内置的。我一直在搜索解决方案,发现了两种可能性:

1)这是因为有两个@html.antiforgerytoken。一个属于 MANAGE 控制器窗体,另一个属于导航栏中的登录局部视图。我试图排除登录部分视图,但错误仍然存​​在,所以我得出结论可能不是问题。

2)正如错误所说,可能是关于 MACHINE KEY。我试图将设置输入到网络配置中。有两种流行的方法来生成这个机器密钥,第一种是使用 ISS,第二种是使用第三方。我想使用 ISS,但我的 ISS8 没有显示模块来查看机器密钥,这很奇怪,我找不到任何解决方案。然后我尝试了第三方,并创建了这样的东西:

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

然后我重新部署了我的网站,但错误仍然存​​在。谁能帮帮我吗?

4

0 回答 0