相关疑难解决方法(0)

如何解决在我的ASP.Net MVC应用程序中的iisreset之后发生的AntiForgeryToken异常?

我在ASP.Net MVC中遇到AntiForgeryToken问题.如果我在我的网络服务器上执行iisreset并且用户继续他们的会话,他们会被退回到登录页面.并不可怕,但AntiForgery令牌爆炸,唯一的方法就是在浏览器上吹掉cookie.

对于版本1的beta版本,在我为我读回cookie时出错了所以我曾经在请求验证令牌之前擦除它,但在发布时已修复.

现在我想我会回到修复beta问题的代码,但我不禁想到我错过了什么.有没有一个更简单的解决方案,我应该放弃他们的助手并从头开始创建一个新的?我觉得很多问题是它与旧的ASP.Net管道如此紧密地联系在一起,并试图将其用于做一些它不是真正设计的事情.

我查看了ASP.Net MVC 2 RC的源代码,看起来代码没有太大变化,所以虽然我没有尝试过,但我认为没有任何答案.

这是异常的堆栈跟踪的相关部分.

编辑:我刚刚意识到我没有提到这只是试图在GET请求上插入令牌.这不是您开始执行POST时发生的验证.

System.Web.Mvc.HttpAntiForgeryException: A required anti-forgery token was not
supplied or was invalid.
---> System.Web.HttpException: Validation of viewstate MAC failed. If this 
application is hosted by a Web Farm or cluster, ensure that <machineKey> 
configuration specifies the same validationKey and validation algorithm. 
AutoGenerate cannot be used in a cluster.
---> System.Web.UI.ViewStateException: Invalid viewstate. 
  Client IP: 127.0.0.1
  Port: 4991
  User-Agent: scrubbed
  ViewState: scrubbed
  Referer: blah
  Path: /oursite/Account/Login
---> System.Security.Cryptography.CryptographicException: Padding is invalid …
Run Code Online (Sandbox Code Playgroud)

.net asp.net asp.net-mvc csrf

41
推荐指数
4
解决办法
7万
查看次数

登录页面上的防伪标记

我在登录页面上实现了防伪令牌.

现在我有一个用户按下键盘上的后退键,当他们在填写凭据后再次点击登录按钮时,他们会收到错误页面.

是否有一些更好的方法来处理这种情况,比如将它们重定向到新的登录页面?

登录页面是:/ account/logon

如果登录详细信息已成功,则用户将被重定向到:主页/索引页面,用户在该页面上按下按钮.

c# antiforgerytoken asp.net-mvc-3

19
推荐指数
3
解决办法
2万
查看次数

标签 统计

.net ×1

antiforgerytoken ×1

asp.net ×1

asp.net-mvc ×1

asp.net-mvc-3 ×1

c# ×1

csrf ×1