使用 wsHttpBinding 和 TransportWithMessageCredential 针对 WCF 服务进行 Jmeter 负载测试
Jmeter load tests against WCF service with wsHttpBinding and TransportWithMessageCredential
我有一些带有 wsHttpBinding 和 TransportWithMessageCredential 安全性的 WCF 服务。 Windows 凭据必须在每个请求中提供,因此用于身份验证(由 AD 设计)、授权(由 AZman 使用 AD)和识别执行操作的用户(听觉目的)。
现在我需要使用 Jmeter 对这些服务执行一些负载测试,我正在努力如何为每个请求验证用户身份,我想知道是否有人曾经这样做过?
我真的需要测试这个安全问题,因为身份验证和授权过程是负载测试本身的一部分。我可以删除它们,但负载测试将不准确。
我想到的解决方案是:
- 确保这可以通过 JMeter 实现
- 在这些服务之上创建一个 WCF 路由服务,作为 basicHttpsBinding 公开,然后将请求路由到适当的目标服务,执行模拟(似乎是一个选择,但它也不是原始测试用例)
- 出于负载测试目的删除安全性,但随后也会删除部分测试(连同安全性)
开箱即用的 JMeter 不支持任何 SOAP 安全实现,因此您可能想使用 WS Security for SOAP 插件
您应该能够通过 SOAP Message UsernameToken
提供您的 Windows 凭据
插件会生成相关的wsse:Username token
我有一些带有 wsHttpBinding 和 TransportWithMessageCredential 安全性的 WCF 服务。 Windows 凭据必须在每个请求中提供,因此用于身份验证(由 AD 设计)、授权(由 AZman 使用 AD)和识别执行操作的用户(听觉目的)。
现在我需要使用 Jmeter 对这些服务执行一些负载测试,我正在努力如何为每个请求验证用户身份,我想知道是否有人曾经这样做过?
我真的需要测试这个安全问题,因为身份验证和授权过程是负载测试本身的一部分。我可以删除它们,但负载测试将不准确。
我想到的解决方案是:
- 确保这可以通过 JMeter 实现
- 在这些服务之上创建一个 WCF 路由服务,作为 basicHttpsBinding 公开,然后将请求路由到适当的目标服务,执行模拟(似乎是一个选择,但它也不是原始测试用例)
- 出于负载测试目的删除安全性,但随后也会删除部分测试(连同安全性)
开箱即用的 JMeter 不支持任何 SOAP 安全实现,因此您可能想使用 WS Security for SOAP 插件
您应该能够通过 SOAP Message UsernameToken
插件会生成相关的wsse:Username token