消息队列RabbitMQ学习笔记之虚拟主机
转自https://www.656463.com/article/RabbitMQvhostguanli_8
RabbitMQ vhost 全称为Virtual Host(虚拟主机),一个broker里可以开设多个vhost,用作不同用户的权限分离。权限控制组,用户只能关联到一个vhost上,一个vhost中可以有若干个Exchange和Queue,默认的vhost是"/"
一、通过RabbitMQ管理后台管理vhost
http://localhost:15672/#/vhosts
1、添加一个虚拟主机
2、对虚拟主机设置权限和删除虚拟主机
在虚拟主机列表中对着想要操作的虚拟主机点击,进行操作页面
二、通过RabbitMQ 命令行管理vhost
virtual_host管理
add_vhost <vhost>
delete_vhost <vhost>
list_vhosts [<vhostinfoitem> ...]
set_permissions [-p <vhost>] <user> <conf> <write> <read>
conf:正则表达式匹配哪些配置资源能够被该用户访问
conf:正则表达式匹配哪些配置资源能够被该用户读
conf:正则表达式匹配哪些配置资源能够被该用户访问
clear_permissions [-p <vhost>] <username>
list_permissions [-p <vhost>]
list_user_permissions <username>
示例:
1、创建vhost
C:\Users\huangyineng>rabbitmqctl add_vhost /testvhost
Creating vhost "/testvhost" ...
2、查看vhost列表
C:\Users\huangyineng>rabbitmqctl list_vhosts
Listing vhosts ...
/testvhost
/
3、对vhost设置权限
C:\Users\huangyineng>rabbitmqctl set_permissions -p /testvhost test1 ConfP WriteP ReadP
Setting permissions for user "test1" in vhost "/testvhost" ...
4、查看指定vhost的权限
C:\Users\huangyineng>rabbitmqctl list_permissions -p /testvhost
Listing permissions in vhost "/testvhost" ...
test1 ConfP WriteP ReadP
5、查看指定用户的权限
C:\Users\huangyineng>rabbitmqctl list_user_permissions test1
Listing permissions for user "test1" ...
/testvhost ConfP WriteP ReadP
6、清除权限
C:\Users\huangyineng>rabbitmqctl clear_permissions -p /testvhost test1
Clearing permissions for user "test1" in vhost "/testvhost" ...
7、设置所有权限
C:\Users\huangyineng>rabbitmqctl set_permissions -p /testvhost test1 ".*" ".*" ".*"
Setting permissions for user "test1" in vhost "/testvhost" ...