You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MVC场景下防伪Cookie令牌与表单字段令牌不匹配问题咨询

ASP.NET 防伪令牌双报错排查清单
  • 确认所有服务器的machineKey配置完全一致,检查子目录web.config是否覆盖了根目录的配置,同时删除validationKey和decryptionKey属性中的IsolateApps、AutoGenerate参数,确保两个密钥是固定值而非自动生成
  • 验证负载均衡会话粘性配置:未开启粘性时用户的页面请求和表单提交请求可能分发到不同节点,即使machineKey一致也可能因令牌附加校验逻辑不匹配报错,可临时开启会话粘性验证问题是否消失
  • 检查防伪配置自定义逻辑:确认所有部署节点代码版本一致,不存在部分节点修改了AntiForgeryConfig.AdditionalDataProvider、AntiForgeryConfig.CookieName、AntiForgeryConfig.FormFieldName等配置的情况
  • 排查客户端Cookie拦截情况:确认用户浏览器未禁用站点Cookie,安全软件、代理服务未篡改或删除防伪Cookie内容
  • 检查原有Output Cache规则:确认之前启用缓存时是否将含防伪表单的页面纳入缓存范围,导致缓存页面携带的令牌与用户Cookie不匹配,禁用缓存后排查页面生成逻辑是否正常写入防伪Cookie
  • 验证响应头Cookie写入状态:访问含防伪表单的页面时,检查响应头中是否存在对应名称的Set-Cookie字段,排查是否有全局过滤器、中间件意外移除了防伪Cookie的写入操作
  • 排查请求携带Cookie逻辑:如果是Ajax提交表单,确认请求头中正确携带了防伪Cookie,是否存在全局Cookie过滤规则误删防伪Cookie的情况
  • 核对令牌生成代码逻辑:检查是否存在手动调用AntiForgery.GetTokens()时未同步处理Cookie写入的问题,或者是否在无Cookie上下文(如API接口、后台任务)中调用了防伪令牌生成逻辑导致写入失败

优先在单节点部署环境下复现问题,排除多节点负载均衡的影响后再进一步排查代码逻辑,可大幅降低排查成本。

内容的提问来源于stack exchange,提问作者Saif

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 08:36:02