【发布时间】:2014-10-05 07:03:46
【问题描述】:
我知道:在幕后,MVC AntiForgeryToken 属性使用机器密钥进行加密。如果您未在 web.config 中指定机器密钥,ASP.NET 会自动为您生成一个。
如果重新启动 ASP.NET 应用程序(例如执行 iisreset),浏览器 cookie 中的 AntiForgeryToken 仍将使用旧机器密钥加密,因此它为什么会因上述错误而崩溃。
我担心的是
在 web.config 中写入机器密钥之前,我想知道我应该在哪里寻找机器密钥以在 web.config 中复制和粘贴。当我们在本地电脑上进行测试时,我们可以在 web.config 中复制并粘贴机器密钥,但是当我们将网站托管在 godady 或 ORCSWEB 中的共享环境中时,这些公司可能不会提供我们网站所在的电脑的机器密钥托管。所以我需要知道如何处理这种情况。谢谢
编辑
<configuration>
<system.web>
<machineKey
validationKey="21F090935F6E49C2C797F69BBAAD8402ABD2EE0B667A8B44EA7DD4374267A75D7AD972A119482D15A4127461DB1DC347C1A63AE5F1CCFAACFF1B72A7F0A281B"
decryptionKey="ABAA84D7EC4BB56D75D217CECFFB9628809BDB8BF91CFCD64568A145BE59719F"
validation="SHA1"
decryption="AES"
/>
如何分别获取或生成validationKey和decryptionKey?有什么想法吗?
【问题讨论】:
标签: asp.net-mvc antiforgerytoken