验证视图状态MAC失败

时间:2010-11-20 16:36:26

标签: c# asp.net-mvc-2 .net-4.0 openid

我正在使用此模板:http://visualstudiogallery.msdn.microsoft.com/en-us/81153747-70d7-477b-b85a-0374e7edabef

并收到以下错误:viewstate MAC验证失败.. Web场..

有很多人遇到这个问题,并且(最好的?)建议我发现用机器密钥更新web.config(因为该网站位于Web场):

  <machineKey validation="SHA1" validationKey=""
decryption="Auto" decryptionKey="" />

然而现在我收到了这个错误:

Unable to validate data.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Web.HttpException: Unable to validate data.

Source Error:

Line 6:  <head>
Line 7:     <title>Login</title>
Line 8:     <%= Html.OpenIdSelectorStyles(this.Page) %>
Line 9:     <link rel="stylesheet" type="text/css" href='<%= Url.Content("~/Content/loginpopup.css") %>' />
Line 10: </head>


Source File:    Line: 8

Stack TraceWhy is this and how do I fix it?

由于 中号

1 个答案:

答案 0 :(得分:3)

验证密钥中有空格,请将其删除。

您还要注意不要使用您在网上找到的机器密钥,因为它被用作Cookie的加密密钥。使用在线发现的一个,特别是在一个众所周知的网站上,可以更容易地破坏您的网站。您可以在http://support.microsoft.com/kb/312906找到一些代码来生成密钥。