Сбой аутентификации сообщений JMeter JMS - PullRequest
0 голосов
/ 05 июля 2019

Я хотел бы отправить JMS-сообщения на мой локальный сервер JBoss 7.2 . Для этого я попытался использовать JMeter с шагом JMS точка-точка . Я настроил все , как вы можете видеть на картинке ниже:

enter image description here

Свойства JNDI:

  • java.naming.security.principal = ca2
  • java.naming.security.credentials = 12346578

Что я пробовал на стороне сервера:

  • создал пользователя приложения (с учетными данными в свойствах JNDI)
  • удалена область безопасности из <http-connector name="http-remoting-connector" connector-ref="default" security-realm="ApplicationRealm"/>

Сервер запущен и работает, но в обоих случаях я получил следующие ошибки:

Ответное сообщение: javax.naming.AuthenticationException: не удалось подключиться к любому серверу. Пробные серверы: [http-remoting: //127.0.0.1: 8080 (Ошибка аутентификации: сбой всех доступных механизмов аутентификации:

DIGEST-MD5: сервер отклонил аутентификацию)] [Исключением root является javax.security.sasl.SaslException: аутентификация не удалась: все доступные механизмы аутентификации не сработали:

DIGEST-MD5: аутентификация сервера отклонена]

Что еще мне попробовать?

Ответы [ 2 ]

0 голосов
/ 23 июля 2019

Получилось моя конфигурация была совершенно неверной .

Я прошу прощения у всех, кто пытался мне помочь. Это был большой урок для меня.

Вот что я должен был сделать, и вы должны учитывать, если вы находитесь в аналогичной ситуации:

  • Удалите jboss-client.jar из папки lib / ext jmeter. (По какой-то причине соединение закрылось слишком рано)
  • Изменить стиль связи шага «точка-точка» JMeter на request_only
  • Создайте пользователя приложения JBoss и добавьте его в гостевую группу (./add-user.sh -a --user ca2 --password 12345678 -g гость)
  • Активируйте профиль jboss в конфигурации сервера (добавьте системное свойство: <property name="spring.profiles.active" value="jboss"/>)
  • И, конечно, правильно сконфигурировать потребителя JMS в коде Java (в консоли управления можно проверить, существует ли потребитель)

Спасибо всем, кто мне помог.

0 голосов
/ 08 июля 2019

Эти ca2 и 12346578 значения не кажутся мне MD5-кодированными , я думаю, вам нужно использовать UsernamePasswordHashUtil для шифрования таких учетных данных, как

java -classpath /path/to/jboss/sasl/jar org/jboss/sasl/util/UsernamePasswordHashUtil <username> [realm name] <password>

В качестве альтернативы вы можете рассмотреть возможность использования jboss-ejb-client и программно отправить сообщение с языка JSR223 Sampler и Groovy , что-то вроде:

def config = AuthenticationConfiguration.empty()
        .setSaslMechanismSelector(SaslMechanismSelector.NONE.addMechanism("DIGEST-MD5")).useName("ca2")
        .usePassword("12345678");
def ctx = AuthenticationContext.empty().with(MatchRule.ALL.matchHost("127.0.0.1"), config);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...