gpt4 book ai didi

java - 没有密码的 RabbitMQ 身份验证

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:38:56 27 4
gpt4 key购买 nike

因为我不需要考虑我的应用程序中的安全问题,所以我想使用 Java 客户端连接到 RabbitMQ,无需密码。

在管理 UI 中,我将用户密码设置为“无密码”。然后我试了一下:

ConnectionFactory factory = new ConnectionFactory();
factory.setHost("localhost");
factory.setUsername("myuser");
connection = factory.newConnection();

或者,我尝试手动组装 URI:

factory.setUri("amqp://myuser@localhost:5672");

...但在这两种情况下,身份验证都失败并出现以下异常:

Exception in thread "main" com.rabbitmq.client.AuthenticationFailureException: ACCESS_REFUSED - Login was refused using authentication mechanism PLAIN. For details see the broker logfile.
at com.rabbitmq.client.impl.AMQConnection.start(AMQConnection.java:339)
at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:716)
at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:760)
at de.bmw.rabbitmq.workerqueue.Producer2.main(Producer2.java:51)

甚至可以在没有密码的情况下建立连接吗?

最佳答案

无密码身份验证可以通过使用 rabbitmq-auth-mechanism-ssl 实现,如下所述:https://github.com/rabbitmq/rabbitmq-auth-mechanism-ssl .这需要设置并运行 SSL/TLS 支持。如果选择此选项,则使用受信任的根证书进行身份验证,并完全忽略任何用户名/密码。

我目前正在研究是否可以将无密码身份验证与 LDAP 结合使用,但我没有任何运气让它发挥作用。

编辑:在我的环境中,Windows 服务使用基于证书的身份验证进行身份验证,而 RabbitMQ 集群管理员可以使用 LDAP 向管理 Web UI 进行身份验证。如果您对 LDAP 身份验证感兴趣,here's another post about it .

关于java - 没有密码的 RabbitMQ 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36715087/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com