【问题标题】:Using ValidateAntiForgeryToken with Ajax.ActionLink将 ValidateAntiForgeryToken 与 Ajax.ActionLink 一起使用
【发布时间】:2010-12-19 16:19:18
【问题描述】:

当请求来自 Ajax.ActionLink(使用 Http Method Post?)时,是否可以在控制器操作上使用 ValidateAntiForgeryToken 属性。替代方法似乎是手动滚动 JQuery Ajax 请求,但我很好奇 MVC Ajax 框架中是否有办法。

【问题讨论】:

    标签: asp.net-mvc ajax


    【解决方案1】:

    我还没有看到一种成熟的方式。您必须将令牌放入 POST 中的数据中。防伪令牌的 ID(或名称,我不记得)每次都是相同的,但您必须非常小心,并确保您使用的防忘记令牌是呈现给客户端的最新令牌,即在 AJAX 应用程序中可能会变得棘手。

    【讨论】:

    • 我将把它标记为正确 - 有一个警告。防伪令牌对于不请求的会话是唯一的。我发现使用相同的防伪令牌发布多个 ajax 帖子是成功的。我的解决方案是使用 JQuery post call 使用一种方法从表单中提取防伪令牌。我还发现,在包含多个表单(因此有多个唯一的防伪令牌)的页面上,我可以使用任何一个可用的防伪令牌提交 - 这似乎并不重要。
    • 感谢您的提醒。我不使用 Session,所以我相信这就是为什么我在每个请求上都体验到不同的 Token。
    猜你喜欢
    • 1970-01-01
    • 2011-01-10
    • 2020-07-04
    • 2023-03-15
    • 1970-01-01
    • 2014-04-24
    • 2016-05-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多