JMeter JMS消息身份验证失败

时间:2019-07-05 08:10:15

标签: java jmeter jms

我想向我的本地JBoss 7.2服务器发送 JMS消息。为此,我尝试在 JMS点对点步骤中使用 JMeter 我已完成所有配置,如下图所示:

enter image description here

JNDI属性:

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

我在服务器端尝试过的方法:

  • 创建一个应用程序用户(具有JNDI属性中的凭据)
  • min.insync.replicas删除安全领域

服务器已启动并正在运行,但是在两种情况下我都遇到以下错误:

响应消息:javax.naming.AuthenticationException:无法连接到任何服务器。尝试使用的服务器:[http-remoting://127.0.0.1:8080(身份验证失败:所有可用的身份验证机制均失败:

DIGEST-MD5:服务器拒绝身份验证)] [根本异常是javax.security.sasl.SaslException:身份验证失败:所有可用的身份验证机制都失败:

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

我还应该尝试什么?

2 个答案:

答案 0 :(得分:0)

这些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);

答案 1 :(得分:0)

原来是我的配置完全错误

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

这就是我要做的,您应该考虑自己是否处于类似情况:

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

感谢所有帮助我的人。