【问题标题】:How can I intercept and handle an AntiForgeryToken exception?如何拦截和处理 AntiForgeryToken 异常?
【发布时间】:2010-07-09 18:55:14
【问题描述】:

我正在使用 jQuery 将 ($.post) 发布到控制器操作并返回 JSON 结果。

如果有任何错误,我将返回带有 JSON 结果的错误消息,并以模式显示给用户。

但是,我在拦截 AFT 异常时遇到了很多麻烦。

我不想抛出 500,我只想获取错误消息并将结果发送回用户。

...而且,如果我只是尝试处理错误,我无法弄清楚如何阻止它取消操作方法的执行

【问题讨论】:

  • 唯一会得到此异常的“用户”要么是黑客,要么是黑客的受害者,对吧?我认为在这两种情况下,通用消息更好,对吧?

标签: asp.net-mvc exception-handling antiforgerytoken


【解决方案1】:

令牌错误不应由您的代码处理 - 它是在实际执行 Action 之前发生的过滤指令(执行前需要有效令牌 - 这是为了安全起见)。

您可能可以通过创建自己的 ActionFilter 来解决这个问题 - 但这是麻烦(带有大写 T) - 我可能会建议您找到另一种方法或让它失败。您还可以测试脚本中的返回值 - 如果没有任何内容,您可以显示一条消息。

【讨论】:

    【解决方案2】:

    您可以在 Application_Error 中捕获此错误,如果请求是异步的,则在包含错误消息的响应中发送正确的 JSON。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-02-12
      • 2022-01-05
      • 2016-03-14
      • 2018-07-24
      • 1970-01-01
      • 2017-06-24
      • 1970-01-01
      相关资源
      最近更新 更多