我使用内置IISExpress在Visual Studio 2012我的本地机器上工作的一个ASP.NET MVC应用程序。 我决定把它在整个本地网络访问的显著进步后,我从Visual Studio中创建一个虚拟目录。 我可以登录,但是当我尝试注册一个新用户。 我得到的错误如下。
该防伪标记无法解密。 如果此应用程序由网络场或群集托管,确保所有机器都运行ASP.NET Web页的相同版本和配置指定明确的加密和验证密钥。 自动生成不能在集群中使用。
我从生成(新机键ASPNET资源 ),并把它放在我的配置文件,但不能仍然working.Can有人提出一个解决办法?
有一两件事我注意到的是,这种错误可能是由具有多引起@Html.AntiForgeryToken()
在页面上的代码段。 我有我的网页上2,一旦我删除了第二个,这个错误就走开了。
你应该添加机器密钥是唯一的网站/机组合。 这是令牌生成器使用本机键。 这意味着你应该产生一个机器密钥(你可以做这里(死链接,请小心了) ,并把它添加到你的机器上Web.config文件,您可以在这里找到更多的信息: http://msdn.microsoft.com /en-us/library/ff649308.aspx
你也可以做到这一点从IIS中直接: http://blogs.msdn.com/b/amb/archive/2012/07/31/easiest-way-to-generate-machinekey.aspx
在那里,我能找到答案http://iamdotnetcrazy.blogspot.ru/2013/08/how-to-solve-anti-forgery-token-could.html
在我的情况,这是有没有打开该网站会话持久性负载均衡的问题。
我是有其使用所述局部视图的网页。 这两种含有@ Html.AntiForgeryToken(),并从局部页面移除@ Html.AntiForgeryToken(),它的工作。