赞
踩
wshanshi:总结记录…便于回顾…
rabbitmqctl add_vhost 虚拟服务器名称
如:rabbitmqctl add_vhost test
rabbitmqctl add_user 用户名 密码
如:rabbitmqctl add_user wss admin
rabbitmqctl delete_user 用户名
如:rabbitmqctl delete_user wss
rabbitmqctl set_permissions -p / 用户名 ".*" ".*" ".*"
如:rabbitmqctl set_permissions -p / wss “." ".” “.*”
或者:rabbitmqctl set_permissions -p wss “." ".” “.*”
注意:加/表示可以访问所有的虚拟服务器,如果指定某个虚拟服务器名称,则表示该用户只能访问这一个虚拟服务器。".*"表示正则配置,读,写相关权限。
这是命令行操作,同样管控台也可以设置,如下图所示。
具体的正则配置,感兴趣的话,大家官网嗨皮哈~ 楼主这里就不多说了。
rabbitmqctl set_user_tags 用户名 角色类型
如:rabbitmqctl set_user_tags wss administrator
角色分为:administrator(管理员)、monitoring(监控者)、policymaker(策略制定者)、management(普通用户)、impersonator(模仿者)、none(不能访问)。角色对应权限按此顺序从大到小。
同样,管控台也可操作。如下图所示,设置角色会自动填充,并提示相应权限。
如:管理员角色
最大一种可能:跑容器时,只-p映射了web管控台的端口,未-p映射通信接口5672.
15672为管控台端口号,5672为通信端口号,25672为 集群通信端口号。
重跑一下即可:
docker run -d --name rabbitmq -p 15672:15672 -p 5672:5672 rabbitmq:management
不瞒您说,楼主就曾犯过这个❌
查看项目配置文件中virtual-host是否和管控台一致。管控台没有/,配置文件中也不需要加/。
rabbitmq:
host: xxxxxx
port: 5672
virtual-host: /xxx
username: xxx
password: xxx
账号或权限问题: 尝试该账号能否正常登录管控台、尝试设置该用户账号为管理员权限。
具体步骤,参考1.2、用户权限相关设置。
从提示可以看出:access to vhost ‘xxxx’ refused for user ‘xx’,表示没有权限。
为用户设置权限,在Virtua lHost:xxxx中,set permission里面,为用户xx设置权限即可。
设置完成后,如下。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。