有没有人成功地使用JMeter使用SPNEGO(协商)和Kerberos身份验证对Windows ADFS / SSO?

问题描述 投票:1回答:1

另外,有没有人确定这不能做或不工作?

我想使用的JMeter负载测试使用1563的oauth2授权网站,但使用ADFS / SSO进行身份验证。看来,认证方案是SPNEGO使用Kerberos,这应该由HttpClient的支持。我与1563的部分没有问题,但不能得到的JMeter兑SSO服务器进行身份验证。

我有一个HTTP Cookie管理器,以及一个HTTP报头管理器有一些共同的请求标头值。我使用一个单独的HTTP头管理器,提供HTTP请求采样时,需要附加的请求报头的值。这是没有问题构建请求头(有一个例外在下面的步骤6所示)和饼干都正确处理。我使用的HTTP请求取样器的默认HttpClient4实现。我只使用一个HTTP授权管理器在下面给出。我们的安全团队提供了一个用户名和密码,以及相关的密钥表,以及境界,域,KDC和管理服务器。的krb5.conf和的Jaas.conf被配置并指定它们的位置。我没有得到任何Java异常。

Jmeter log extract:
            DEBUG o.a.h.i.c.TargetAuthenticationStrategy: Authentication schemes in the order of preference: [Negotiate, Kerberos, NTLM, CredSSP, Digest, Basic]
        DEBUG o.a.h.i.c.TargetAuthenticationStrategy: Challenge for Kerberos authentication scheme not available
        DEBUG o.a.h.i.c.TargetAuthenticationStrategy: Challenge for CredSSP authentication scheme not available
        DEBUG o.a.h.i.c.TargetAuthenticationStrategy: Challenge for Digest authentication scheme 

问题是,的JMeter没有任何的从服务器的挑战,进行多步验证过程。

jmeter kerberos
1个回答
0
投票

它不应该是假设正确配置的问题。同样的规则作为正常的负载测试应用:作为真正的浏览器做的JMeter必须将同一网络流量模式。你可以仔细检查它使用类似Wireshark嗅探器工具。

仔细检查你设置user.properties文件中的以下Kerberos-related JMeter properties

kerberos.spnego.delegate_cred=true
kerberos.spnego.strip_port=false
kerberos_jaas_application=name_of_your_application_from_the_jaas_conf

以防万一加上下一行system.properties文件:

sun.security.krb5.debug=true

参考文献:

© www.soinside.com 2019 - 2024. All rights reserved.