【发布时间】:2019-04-13 12:19:26
【问题描述】:
我使用 Bunny gem 并在 RabbitMQ 中配置了一个用户,如下所示:
virtual host /
configure: device1\..*
write: .*
read: device1\..*
目标是:用户应该能够创建一个这样命名的队列:device1.mail,并且应该能够读取/写入它。 对于所有其他队列,我只想为用户提供写访问权限(而不是读权限)。
当我尝试使用 Bunny 写入名为 calc 的现有持久队列时,出现错误:
conn = Bunny.new('amqp://device1:device1@128.0.0.0:5672')
conn.start
ch = conn.create_channel
q = ch.queue("calc", durable: true)
Bunny::AccessRefused (ACCESS_REFUSED - access to queue 'calc' in vhost '/' refused for user 'device1')
当我将用户的配置权限设置为 .* 时,它就可以工作了。我可以写入队列,但不能读取。然而,这样用户可以创建他想要的命名队列......
所以似乎需要配置权限才能打开队列(即使它是现有队列?)。
我在这里错过了什么?
【问题讨论】:
标签: bunny