创建的交换被拒绝访问

问题描述 投票:0回答:2

我是使用 C# 的rabbitmq 新手。我们正在尝试为 epex 点创建一个 API,它在传输标签协议中使用 AMQP,并为此使用 Rabbitmq。

我可以使用提供的凭据连接到 epex 点的服务器。

ConnectionFactory factory = new RabbitMQ.Client.ConnectionFactory();
可以创建频道

using (IConnection conn = factory.CreateConnection())
{
    using (IModel channel = conn.CreateModel())
    {

但是当我尝试 DeclareExchange 或 DeclareQueue 时,我收到错误消息:

AMQP操作被中断:AMQP关闭原因,由Peer发起,code = 403,text =“ACCESS_REFUSED - access to Exchange 'M7.broadcastQueue.username' in vhost 'app'拒绝用户'username'”,classId= 60,方法 ID=40

如果我尝试联系 epexspot 并请求许可,他们会说我们拥有所有必要的许可。你们能帮我解决这个问题吗?或者是否有人以前遇到过类似的问题?

c# rabbitmq
2个回答
6
投票

您的权限设置不正确。必须运行此命令才能执行此操作:

rabbitmqctl set_permissions -p app username '.*' '.*' '.*'

无论“epexspot”是谁,都没有正确设置它们,或者试图限制该用户的读/写/配置权限。

我假设也是您的信息。当此问题得到解决后,请在您提出此问题的所有地方跟进并提供有关解决方案的详细信息,以便其他人可以从中学习。


0
投票

连接服务器时,丢失了一些重要信息。没有提供交换等信息。 这些信息激怒了授权部分,导致此错误不断出现。

谢谢你

© www.soinside.com 2019 - 2024. All rights reserved.