ASP.NET MVC中AntiForgeryToken的MachineKey设置

时间:2014-07-03 17:54:00

标签: asp.net-mvc machinekey

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

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

我使用的是Asp Identity,因此内置了所有代码。我一直在寻找解决方案,并找到了两种可能性:

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

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

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

然后我重新部署了我的网站,但错误仍然存​​在。有人可以帮帮我吗?

0 个答案:

没有答案