为了账号安全,请及时绑定邮箱和手机立即绑定

JMeter JMS 消息认证失败

JMeter JMS 消息认证失败

ibeautiful 2023-03-09 17:23:30
我想将JMS 消息发送到我本地的 JBoss 7.2 服务器。为此,我尝试将JMeter与JMS 点对点步骤结合使用。我配置了所有内容,如下图所示:JNDI 属性:java.naming.security.principal = ca2java.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:服务器拒绝身份验证]我还应该尝试什么?
查看完整描述

2 回答

?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

这些ca212346578值对我来说看起来不是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);



查看完整回答
反对 回复 2023-03-09
?
慕娘9325324

TA贡献1783条经验 获得超4个赞

原来我的配置完全错误

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

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

  • 从 jmeter 的 lib/ext 文件夹中删除 jboss-client.jar。(由于某种原因导致连接关闭得太快)

  • 将 JMeter Point-to-Point 步骤的 Communication style 更改为 request_only

  • 创建一个 JBoss 应用程序用户并将其添加到来宾组 (./add-user.sh -a --user ca2 --password 12345678 -g guest)

  • 在服务器配置中激活 jboss 配置文件(添加系统属性 <property name="spring.profiles.active" value="jboss"/>:)

  • 当然,在 Java 代码中正确配置 JMS 消费者(可以在管理控制台中检查消费者是否存在)

感谢所有帮助过我的人。



查看完整回答
反对 回复 2023-03-09
  • 2 回答
  • 0 关注
  • 145 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号