performance - javax.security.auth.login.LoginException:没有为 JMeter 配置 LoginModules
问题描述
我使用 Apache Jmeter 作为代理在需要登录的网站上记录脚本。
当我在录制后验证脚本时。我在 JMeter 日志中收到此错误。
2020-06-17 12:57:48,760 WARN o.a.j.p.h.c.KerberosManager: Could not log in user ${AUTH_LOGIN}
javax.security.auth.login.LoginException: No LoginModules configured for JMeter
at javax.security.auth.login.LoginContext.init(LoginContext.java:264) ~[?:1.8.0_181]
at javax.security.auth.login.LoginContext.<init>(LoginContext.java:417) ~[?:1.8.0_181]
at org.apache.jmeter.protocol.http.control.KerberosManager.lambda$getSubjectForUser$0(KerberosManager.java:67) ~[ApacheJMeter_http.jar:5.3]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_181]
at org.apache.jmeter.protocol.http.control.KerberosManager.getSubjectForUser(KerberosManager.java:82) [ApacheJMeter_http.jar:5.3]
at org.apache.jmeter.protocol.http.control.AuthManager.getSubjectForUrl(AuthManager.java:298) [ApacheJMeter_http.jar:5.3]
at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.executeRequest(HTTPHC4Impl.java:918) [ApacheJMeter_http.jar:5.3]
at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:641) [ApacheJMeter_http.jar:5.3]
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:66) [ApacheJMeter_http.jar:5.3]
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1281) [ApacheJMeter_http.jar:5.3]
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1270) [ApacheJMeter_http.jar:5.3]
at org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:630) [ApacheJMeter_core.jar:5.3]
at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:558) [ApacheJMeter_core.jar:5.3]
at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:489) [ApacheJMeter_core.jar:5.3]
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:256) [ApacheJMeter_core.jar:5.3]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_181]
****我在 USER_DEFINED_Variable 中定义了 AUTH_LOGIN 和 AUTH_PASSWORD****
我将非常感谢您的帮助,因为我不确定如何继续。
解决方案
如果您只需要记录 .jmx 脚本 - 使用JMeter Chrome Extension可能更容易,在这种情况下,您不必担心代理和证书。
展望未来,如果您将对此应用程序进行负载测试,您将再次遇到此问题,这意味着您的应用程序正在使用Kerberos协议对用户进行身份验证,因此您需要:
添加HTTP 授权管理器和:
- 提供您的凭据
- 提供您的域和领域
- 选择
Kerberos
作为“机制”
- 在jaas.conf和krb5.conf文件中提供必要的配置(都位于 JMeter 安装的“bin”文件夹下)
有关更多详细信息和示例配置,请参阅使用 Apache JMeter 的 Windows 身份验证文章。
您可能还对Java 身份验证和授权服务文档感兴趣