【问题标题】:Mvc antiforgery token and akamai cachingMvc 防伪令牌和 akamai 缓存
【发布时间】:2015-09-01 07:43:28
【问题描述】:

我们在使用防伪令牌的 mvc Web 应用程序中有一个表单。该表单使用 ajax 发布请求。我遇到的问题是 akamai 将页面缓存 5 分钟并将缓存页面与缓存的防伪令牌提供给另一个客户端,结果用户在提交时收到 500 服务器错误,因为缓存中存在防伪令牌。为什么 akamai 缓存会与客户端之间的防伪令牌混淆?每个客户端的缓存应该是唯一的。怎么可能每个客户端都从 akamai 看到相同的缓存页面?

【问题讨论】:

    标签: asp.net-mvc caching antiforgerytoken akamai


    【解决方案1】:

    这就是 Akamai 系统的实际工作方式。缓存服务器为多个用户提供相同的页面。避免这种情况的正确方法是使用属性管理器(或配置管理器,如果您尚未升级)来设置不缓存这些特定页面的规则。在页面中而不是在标头或 cookie 中发送令牌信息似乎很奇怪,但如果您这样做,您需要告诉 Akamai 在这种情况下缓存除外。

    【讨论】:

    • Mvc antigorgery token 使用请求令牌设置隐藏字段,并使用令牌设置 cookie。我们也不能禁用页面缓存。
    • 我不确定您为什么不能禁用页面缓存。可以使用匹配特定页面的正则表达式或任何其他方式禁用缓存。如果您为不同来源的两个页面提供服务,系统可能会重定向。
    猜你喜欢
    • 2015-01-11
    • 2014-10-03
    • 1970-01-01
    • 2019-03-05
    • 2014-04-26
    • 2014-01-23
    • 2016-10-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多