Emqx5.0-认证授权

文章详细介绍了如何使用docker-compose安装Emqx5.0.14,接着讲述了客户端连接的认证过程,包括创建mqtt_user数据表和配置认证方式与数据源。此外,还阐述了授权步骤,如建立mqtt_acl表进行主题授权,并提供了使用MQTTX客户端进行测试的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Emqx5.0认证授权

1 docker-compose安装emqx

docker-compose.yml配置文件如下:

version: '3'
services:
  emqx:
    image: emqx/emqx:5.0.14
    container_name: emqx
    restart: unless-stopped
    environment:
    - "EMQX_NAME=emqx"
    - "TZ=Asia/Shanghai"
    healthcheck:
      test: ["CMD", "/opt/emqx/bin/emqx_ctl", "status"]
      interval: 5s
      timeout: 25s
      retries: 5
    network_mode: host
2 认证

客户端连接认证

(1) 进入dashboard页面创建认证

在这里插入图片描述

(2) 创建mqtt_user数据表
  • password_hash: 必需,数据库中的明文或散列密码字段
  • salt: 可选,为空或不存在时视为空盐(salt = ""
  • is_superuser: 可选,标记当前客户端是否为超级用户,默认为 false
CREATE TABLE `mqtt_user` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `username` varchar(100) DEFAULT NULL,
  `password` varchar(100) DEFAULT NULL,
  `salt` varchar(35) DEFAULT NULL,
  `is_superuser` tinyint(1) DEFAULT 0,
  `created` datetime DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `mqtt_username` (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

(3)选择认证方式

在这里插入图片描述

(4)选择数据源

在这里插入图片描述

(5)配置参数

在这里插入图片描述

3 授权

连接主题授权

(1)创建mqtt_acl表

在这里插入图片描述
permission默认值为:allow
action默认值为:all

(2)选择数据源

在这里插入图片描述

(3)配置参数

在这里插入图片描述

4 测试

使用MQTTX客户端进行测试

(1) 测试认证

如果mqtt_user表中不存在Username和密码或者输入有误则不能够连接
在这里插入图片描述

(2) 测试授权

如果mqtt_acl表中的Username下没有该主题或者输入的Username有误则不能够发送内容到主题中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值