• rabbitmq消息队列用户和权限管理及问题 Dial: Exception (403) Reason: "username or password not allowed"


    RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统。他遵循Mozilla Public License开源协议。

    MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。排队指的是应用程序通过队列来通信。队列的使用除去了接收和发送应用程序同时执行的要求。RabbitMQ可以,多个程序同时使用RabbitMQ ,但是必须队列名称不一样。采用erlang语言,属于爱立信公司开发的。

    rabbitmq用户及权限管理:  用户管理包括增加用户,删除用户,查看用户列表,修改用户密码。

    新增用户      rabbitmqctl  add_user  Username  Password

    删除用户      rabbitmqctl  delete_user  Username

    修改用户的密码     rabbitmqctl  change_password  Username  Newpassword

    为用户分配角色     rabbitmqctl set_user_tags username administrator   #Tags 可以是:administrator 管理员,   monitoring 监控 , management 管理

    查看当前用户列表  rabbitmqctl  list_users

    查看当前虚拟主机  rabbitmqctl list_vhosts

    查看用户权限    rabbitmqctl list_user_permissions  Username

    设置用户访问权限  rabbitmqctl set_permissions -p vhostname username ".*" ".*" ".*"  ##后边三个.*分别代表:配置权限、写权限、读权限     “/”是rabbitmq默认的虚拟机,默认连接

    清除用户权限    rabbitmqctl clear_permissions Username

    virtual_host管理

    新建virtual_host: rabbitmqctl add_vhost xxx

    撤销virtual_host: rabbitmqctl delete_vhost xxx

    查看列表:rabbitmqctl list_vhosts

     队列管理

    查看当前队列信息:rabbitmqctl list_queues
    清除所有队列:rabbitmqctl reset
     
    [root@local ~]# rabbitmqctl add_user admin passwd   ###添加用户
    Creating user "admin" ...
    ...done.
    [root@local ~]# rabbitmqctl change_password  admin pswd1234   ###修改用户密码
    Changing password for user "admin" ...
    ...done.
    [root@local ~]# rabbitmqctl set_user_tags   admin  management   ###分配用户角色
    Setting tags for user "admin" to [management] ...
    ...done.
    [root@local ~]# rabbitmqctl list_users       ###用户列表
    Listing users ...
    admin    [management]
    guest    [administrator]
    ningnan    [administrator]
    ...done.
    [root@local ~]# rabbitmqctl delete_user admin       ###删除用户
    Deleting user "admin" ...
    ...done.
    用户管理命令举栗
    [root@local ~]# rabbitmqctl  list_user_permissions  guest
    Listing permissions for user "guest" ...
    /    .*    .*    .*
    ...done.
    [root@local ~]# rabbitmqctl set_permissions -p / ningnan ".*" ".*" ".*"
    Setting permissions for user "ningnan" in vhost "/" ...
    ...done.
    [root@local ~]# rabbitmqctl  list_user_permissions  ningnan
    Listing permissions for user "ningnan" ...
    /    .*    .*    .*
    ...done.
    [root@local ~]# rabbitmqctl  clear_permissions  ningnan  ##清除用户权限
    Clearing permissions for user "ningnan" in vhost "/" ...
    ...done.
    [root@local ~]# rabbitmqctl  list_user_permissions  ningnan
    Listing permissions for user "ningnan" ...
    ...done.
    权限管理命令举栗

    遇见个调用问题   Dial: Exception (403) Reason: "username or password not allowed"

    [root@local service_hcloud]# MQ Receive Statistics Version 1.0
    Initiate log ...
    init read config file ...
    QueueName : STATI
    Host : 192.168.0.3
    userName : guest
    PassWord : bs******
    2019/03/18 11:26:28 dialing "amqp://192.168.0.3:5672/"
    2019/03/18 11:26:31 Dial: Exception (403) Reason: "username or password not allowed"
    2019/03/18 11:26:31 running forever

    发现是因为服务配置文件写的有问题. 如图:

     

    自用博文.不限传播.欢迎留言.共同进步.
  • 相关阅读:
    AndroidStudio开发体温上报系统------问题总结
    AndroidStudio--app是如何运行的
    sqlite操作
    sqlite数据库
    Android Service
    echart自定义主题
    vue监听数组变化
    Django:数据库驱动安装
    pycharm链接mysql报错: Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezone' property manually.
    Django2.2:UnicodeDecodeError: 'gbk' codec can't decode byte 0xa6 in position 9737: illegal multibyte sequence
  • 原文地址:https://www.cnblogs.com/mingetty/p/10557333.html
Copyright © 2020-2023  润新知