1. 复现问题
今天登录rabbitMq
后台管理后,在Admin
这页中,点击Add user
按钮,如下图所示:
点击Close
按钮,关闭Not management user
弹出框,重新登录时却报出这个错误:Not management user
,如下图所示:
2. 分析问题
Not management user
翻译成中文即为非管理用户
,非管理用户无法登录管理控制台,因而,报出这个错误。
虽然我登录的是guest
用户,因为账号guest
具有所有的操作权限,当然可以登录管理控制台。
但我在上文中修改guest
用户角色为空,导致现在无法登录。
使用如下命令查看guest
权限:
rabbitmqctl list_users
注意事项:执行rabbitmqctl
指令时,可能会报错,解决方式可参考该文档:unable to perform an operation on node ‘rabbit@DESKTOP-xxx
如下图所示:
你会看到guest
权限为空,因为我在上文点击Add User
按钮时,并没有设置Tags
,导致guest
的用户角色权限为空。
Tags
为角色名(对应于下面的administrator
,monitoring
,policymaker
,management
,或其他自定义名称)
rabbitmq
的用户角色可分为五类:超级管理员, 监控者, 策略制定者, 普通管理者以及其他。
- 超级管理员(
administrator
)
可登陆管理控制台(启用management plugin
的情况下),可查看所有的信息,并且可以对用户,策略(policy)
进行操作。
- 监控者(
monitoring
)
可登陆管理控制台(启用management plugin
的情况下),同时可以查看rabbitmq
节点的相关信息(进程数,内存使用情况,磁盘使用情况等)
- 策略制定者(
policymaker
)
可登陆管理控制台(启用management plugin
的情况下), 同时可以对policy
进行管理。但无法查看节点的相关信息(上图红框标识的部分)。
与administrator
的对比,administrator
能看到这些内容
- 普通管理者(
management
)
仅可登陆管理控制台(启用management plugin
的情况下),无法看到节点信息,也无法对策略进行管理。
- 其他
无法登陆管理控制台,通常就是普通的生产者和消费者。
那么,我现在有两种解决方案,如下所示:
-
使用
rabbitmqctl
修改guest
角色权限 -
新增用户和用户角色
3. 解决问题
3.1 rabbitmqctl修改guest角色权限
- 使用如下指令修改
guest
的角色权限:
rabbitmqctl set_user_tags guest administrator
修改结果如下图:
- 使用指令
rabbitmqctl list_users
查看guest
的角色权限
- 使用
guest
登录RabbitMq
登录后台
从图中可以看到,能够正产登录。
3.2 新增用户和用户角色
- 使用如下命令新增用户
rabbitmqctl add_user test test123
如下图所示:
用户新增成功后,Done
后的语句Don't forget to grant the user permissions to some virtual hosts! See 'rabbitmqctl help set_permissions' to learn more.
,目的是提醒你不要忘记设计设置权限,于是继续设置权限。
- 使用如下指令设置权限
rabbitmqctl set_user_tags test administrator
如下图所示:
- 使用
test
用户,密码为test123
登录RabbitMq
登录后台
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/99137.html