当我尝试在 ASP.net Web 应用程序上运行性能测试时,总是出现“防伪 cookie 令牌和表单字段令牌不匹配”。或“无法解密防伪令牌。如果此应用程序由 Web Farm 或群集托管,请确保所有计算机都运行相同版本的 ASP.NET 网页,并且配置指定了显式加密和验证密钥。 AutoGenerate 不能在集群中使用。”
你能帮我解决这个问题吗?我尝试了多种方法,例如添加正则表达式提取器来提取“__RequestVerificationToken”,但没有任何效果。
注意:只有当我从 Jmeter 运行时才会发生这种情况。如果我直接在网络上浏览应用程序,我看不出任何问题。
谢谢,帕尼
查看ASP.NET MVC 和网页中的 XSRF/CSRF 预防,您似乎发送了不正确的__RequestVerificationToken参数值或完全错过了这一步。
如果当前 HTTP 请求已经包含反 XSRF 会话令牌(反 XSRF cookie __RequestVerificationToken),则从中提取安全令牌。如果 HTTP 请求不包含反 XSRF 会话令牌或安全令牌提取失败,则会生成一个新的随机反 XSRF 令牌。
所以你的测试应该是这样的:
打开登录页面(HTTP Get 请求)
__RequestVerificationToken使用合适的JMeter PostProcessor提取动态参数值,我建议使用CSS Selector Extractor,配置如下:
完成后,您可以${token}在下一个请求中引用提取的值
如果需要,请查看ASP.NET Login Testing with JMeter文章以获取更多详细信息和分步说明
| 归档时间: |
|
| 查看次数: |
2781 次 |
| 最近记录: |