我已经在RabbitMQ的新安装上设置了一个非常基本的队列'test_query',并创建了一个基本的非管理员用户'user'(我已经赋予了与管理员帐户相同的虚拟主机访问权限)。
当我通过以下方式在命令行上发送测试消息时:
rabbitmqadmin publish exchange=amq.default routing_key=test_queue payload="hello, world" -u admin -p {admin password}
它工作正常。但是当我尝试使用基本用户时:
rabbitmqadmin publish exchange=amq.default routing_key=test_queue payload="hello, world" -u user -p {user password}
我得到以下错误:
- 拒绝访问:/API/exchanges/%2 F/amq.default/publish
我已经搜索了如何为特定用户添加发布到消息队列的权限,但无法通过噪音找到解决方案。
2条答案
按热度按时间9udxz4iz1#
我也遇到了类似的问题,通过RabbitMQ管理员界面添加权限(管理员->用户->一些用户->设置权限)解决了这个问题:x1c 0d1x您可以通过CLI将Admin UI作为插件启用:
要访问它,您还需要创建一些登录凭据。更多详情:https://www.rabbitmq.com/management.html#getting-started
wdebmtf22#
我用
site:rabbitmq.com permission
搜索了谷歌,这篇文章是第一篇:https://www.rabbitmq.com/access-control.html在“网络如何工作”部分的结尾,您将被定向到
rabbitmqctl
man page在该页面中,您将找到
set_permissions
命令的文档。这就是你需要使用的。如果您想打开一个pull request来改进文档,使找到这个解决方案更容易,我们欢迎它here!谢谢.