2

在开发服务器上,带有 Html.AntiForgeryToken() 的标准 MVC4 / EF4.5 登录表单会在每次页面加载时刷新其值。在 IIS 上部署相同代码时,隐藏值 __RequestVerificationToken 始终相同(至少在一个浏览器会话中)。同一服务器上的其他类似应用程序似乎没有这种行为。

哪个 web.config/IIS 参数可能对此负责?

已经尝试设置机器密钥(单服务器),但这似乎只是缩短了令牌,刷新问题仍然存在。

也在不同的浏览器中进行了测试。以下是 IIS 和开发服务器的一些演示值:

IIS:

  • 在 web.config 中没有机器密钥:

    BGxqV7DjpHomi22By0r70WebHiWMV2OcsrCMN-dNDkRElZrv6BMQH23_zK9abmRsty_n1NImH2-gEsi3nBrWIQ2

  • 使用 web.config 中的机器密钥:

    dXBdht7mn2plT2rPvv0HzWtFvn-N9MT6xzW_xc8dVqnLdofzrL5v0SZFMAFPTANR0

卡西尼/发展:

  • 在 web.config 中没有机器密钥:

    Yedkrxms9oYmHGzhV93qsrryVuNKZSWKBwCkP-RzK-tAZGgQ6J5g6Yp0LsCQPehucVwDcUs5lfRUf6Y6FxYUqY0olkE3-PmtF0ZnrCcbXD6XuA1PgPoFchreTPnCCSCwsh3E3FPmdKPlabyOfqiykkVqocxzYBMqd7A3bCZIxU01

  • 使用 web.config 中的机器密钥:

    iFjqi1OYplYfhCYdflAw1LSncVwK3b1yfDaJRgfrqVamucJ992D3-pFD__RolMZ_edp6muXQWLkxGOQp5Wn2ObTKXltO2J9tq32-JUMGu7cXdYZMkty3MRwuE-SuIFt7zo7TvQ2

4

1 回答 1

0

尝试以下 KB 中提到的修复。它解决了我们环境中的问题。

http://support.microsoft.com/kb/2656351

于 2014-05-20T21:30:50.700 回答