Jmeter-скрипт для SSO-аутентификации в Kerberos (Windows) - PullRequest
0 голосов
/ 14 февраля 2020

Я пытаюсь реализовать скрипт Jmeter (jmeter версии 5.1) для функциональности единого входа с Kerberos. Я выполнил настройку в файлах krb5 и jass conf, а также обновил диспетчер авторизации HTTP с доменом, областью и механизмом как Kerberos.

Скрипт не выводит ответ SAML в URL при запуске сценарий. Проверка журналов jmeter дает следующую ошибку:

2020-02-14 12:32:23,453 WARN o.a.j.p.h.c.KerberosManager: Could not log in user gl0
javax.security.auth.login.LoginException: null (68)
        at com.sun.security.auth.module.Krb5LoginModule.attemptAuthentication(Unknown Source) ~[?:1.8.0_241]
        at com.sun.security.auth.module.Krb5LoginModule.login(Unknown Source) ~[?:1.8.0_241]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_241]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_241]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_241]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_241]
        at javax.security.auth.login.LoginContext.invoke(Unknown Source) ~[?:1.8.0_241]
        at javax.security.auth.login.LoginContext.access$000(Unknown Source) ~[?:1.8.0_241]
        at javax.security.auth.login.LoginContext$4.run(Unknown Source) ~[?:1.8.0_241]
        at javax.security.auth.login.LoginContext$4.run(Unknown Source) ~[?:1.8.0_241]
        at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_241]
        at javax.security.auth.login.LoginContext.invokePriv(Unknown Source) ~[?:1.8.0_241]
        at javax.security.auth.login.LoginContext.login(Unknown Source) ~[?:1.8.0_241]
        at org.apache.jmeter.protocol.http.control.KerberosManager.lambda$getSubjectForUser$0(KerberosManager.java:70) ~[ApacheJMeter_http.jar:5.1 r1853635]
        at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_241]
        at org.apache.jmeter.protocol.http.control.KerberosManager.getSubjectForUser(KerberosManager.java:83) [ApacheJMeter_http.jar:5.1 r1853635]
        at org.apache.jmeter.protocol.http.control.AuthManager.getSubjectForUrl(AuthManager.java:294) [ApacheJMeter_http.jar:5.1 r1853635]
        at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.executeRequest(HTTPHC4Impl.java:829) [ApacheJMeter_http.jar:5.1 r1853635]
        at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:572) [ApacheJMeter_http.jar:5.1 r1853635]
        at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:67) [ApacheJMeter_http.jar:5.1 r1853635]
        at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1231) [ApacheJMeter_http.jar:5.1 r1853635]
        at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1220) [ApacheJMeter_http.jar:5.1 r1853635]
        at org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:622) [ApacheJMeter_core.jar:5.1 r1853635]
        at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:546) [ApacheJMeter_core.jar:5.1 r1853635]
        at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:486) [ApacheJMeter_core.jar:5.1 r1853635]
        at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:253) [ApacheJMeter_core.jar:5.1 r1853635]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_241]
    Caused by: sun.security.krb5.KrbException: null (68)
        at sun.security.krb5.KrbAsRep.<init>(Unknown Source) ~[?:1.8.0_241]
        at sun.security.krb5.KrbAsReqBuilder.send(Unknown Source) ~[?:1.8.0_241]
        at sun.security.krb5.KrbAsReqBuilder.action(Unknown Source) ~[?:1.8.0_241]
        ... 27 more

1 Ответ

0 голосов
/ 17 февраля 2020

К сожалению, в вашем вопросе недостаточно подробностей, чтобы угадать причину сбоя. В дальнейшем рассмотрим добавление снимков экрана:

  1. Пример запроса HTTP
  2. Диспетчер авторизации HTTP
  3. Содержимое файлов krb5.conf и jaas.conf
  4. Было бы также полезно иметь больше подробных журналов, добавьте следующую строку в файл log4j2. xml:

    <Logger name="org.apache.jmeter.protocol.http.control" level="debug" />
    

    и установите системное свойство sun.security.krb5.debug на true

Дополнительная информация:

...