解决RabbitMq登录时报出Not management user(Login failed)错误以及rabbitmqctl(RabbitMq)新增用户和用户角色权限
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
登录后台
相关文章
- Go 语言函数返回错误 error 的方法
- 【VS开发】winsock 错误多 windows.h和winsock2.h的顺序
- PrestaShop 1.7 用户付款的时候无法支付错误
- HTTP 错误 403.14 - Forbidden Web 服务器被配置为不列出此目录的内容
- python pip安装模块提示错误failed to create process
- 安装vue脚手架出现错误:npm ERR code ETIMEDOUT npm ERR syscall connect npm ERR errno ETIMEDOUT npm ERR network reques...
- 使用CURL出现certificate verify failed错误的解决方法
- 关于Linux下C编译错误(警告)cast from 'void*' to 'int' loses precision
- jackson 的UnrecognizedPropertyException错误
- 解决错误: Failed to load class "org.slf4j.impl.StaticLoggerBinder"
- iOS 使用AFNetworking遇到错误 Request failed: unacceptable content-type: text/html
- Mysql 插入中文错误:Incorrect string value
- Conda更新失败:SSL错误:[SSL:CERTIFICATE_VERIFY_FAILED]证书验证失败
- 【Python21天学习挑战赛】- 错误和异常
- android错误:Installation error: INSTALL_FAILED_VERSION_DOWNGRADE
- 问题整理:ZABBIX4.0登录界面出现错误 SQL statement execution has failed “INSERT INTO sessions (sessionid,userid,..
- 出现( linker command failed with exit code 1)错误总结
- Type I and type II errors | 第一类错误和第二类错误
- 【错误记录】git clone 报错 ( fatal: unable to access ‘https...‘:gnutls_handshake() failed: Error in the pu )
- 【错误记录】Android Studio 配置 AspectJ 报错 ( Failed to create Jar file C:xxxaspectjtools-1.8.10.jar. )
- redHat 安装mono 错误
- HTTP 错误 500.19 请求的页面的相关配置数据无效 解决办法
- Android系统移植与调试之------->安装apk时出现错误Failure [INSTALL_FAILED_DEXOPT]问题解决的方法