【问题标题】:JMeter JMS message authentication failsJMeter JMS 消息认证失败
【发布时间】:2019-07-23 21:31:11
【问题描述】:

我想向我的本地 JBoss 7.2 服务器发送 JMS 消息。为此,我尝试使用 JMeterJMS 点对点 步骤。 我配置了一切,如下图所示:

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:服务器拒绝身份验证)] [根异常是 javax.security.sasl.SaslException:身份验证失败:所有可用的身份验证机制都失败:

DIGEST-MD5:服务器拒绝身份验证]

我还应该尝试什么?

【问题讨论】:

  • 这与 Apache Camel 有什么关系?您是否已将 jboss-client.jar lib 部署到 jmeter 的 lib/ext 文件夹中?你可以从 JBOSS_FOLDER/bin/client/jboss-client.jar 下载得到这个 jar
  • 你是对的,它不一定与Apache Camel有关,标签被移除。 jboss-client.jar 库是一个很好的提示,但现在我收到以下错误:javax.naming.NameNotFoundException: jboss -- service jboss.naming.context.java.jboss.exported.jboss

标签: java jmeter jms


【解决方案1】:

这些 ca212346578 值在我看来不是 MD5-encoded,我认为您需要使用 UsernamePasswordHashUtil 来加密像

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

或者,您可以考虑使用jboss-ejb-client 并通过JSR223 Sampler and 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);

【讨论】:

    【解决方案2】:

    原来我的配置完全错误

    我向所有试图帮助我的人道歉。这对我来说是一个很好的教训。

    这是我必须做的,如果你处于类似情况,你应该考虑一下:

    • 从 jmeter 的 lib/ext 文件夹中删除 jboss-client.jar。 (由于某种原因导致连接过早关闭)
    • 将 JMeter 点对点步骤的通信方式更改为 request_only
    • 创建一个 JBoss 应用程序用户并将其添加到来宾组 (./add-user.sh -a --user ca2 --password 12345678 -g guest)
    • 在服务器配置中激活 jboss 配置文件(添加系统属性: &lt;property name="spring.profiles.active" value="jboss"/&gt;)
    • 当然还有在 Java 代码中正确配置 JMS 消费者(可以在管理控制台中检查消费者是否存在)

    感谢所有帮助过我的人。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-13
      • 1970-01-01
      • 2010-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-29
      相关资源
      最近更新 更多