emqx使用mysql完成使用者密碼驗證和ACL鑑權

2021-09-21 07:41:25 字數 2121 閱讀 5055

摘要:前幾篇部落格介紹的是使用配置檔案配置了acl和客戶端使用者名稱密碼配置實現生產環境下的安全登入和許可權控制,各項配置比較繁瑣,修改起來比較麻煩,下面介紹使用mysql進行統一的管理控制。

環境說明:

1.linux系統下,centos 7環境

2.使用docker執行emqtt伺服器,參照:

3.進入docker方式,參照:

4.mysql版本:5.6+

1)配置mysql連線配置

載入mysql許可權外掛程式

如果無法載入,可以通過介面配置的方式進行外掛程式的配置和啟動

mysql資料庫建表

create table `mqtt_acl` (

`id` int(11) unsigned not null auto_increment,

`allow` int(1) default null comment '0: deny, 1: allow',

`ipaddr` varchar(60) default null comment 'ipaddress',

`username` varchar(100) default null comment 'username',

`clientid` varchar(100) default null comment 'clientid',

`access` int(2) not null comment '1: subscribe, 2: publish, 3: pubsub',

`topic` varchar(100) not null default '' comment 'topic filter',

primary key (`id`)

) engine=innodb default charset=utf8;

create table `mqtt_user`

( `id` int(11) unsigned not null auto_increment,

`username` varchar(100) default null,

`password` varchar(100) default null,

`salt` varchar(20) default null,

`is_superuser` tinyint(1) default 0,

`created` datetime default null, primary key (`id`), unique key `mqtt_username` (`username`) ) engine=myisam default charset=utf8;

插入acl鑑權及使用者登入賬號密碼資料資料

如果is_superuser是1的話,acl中的控制將不受限制

node red 及emqx的使用

基本使用 dashboard ui呈現 如下 在 linux上安裝docker curl ssl sh 安裝docker compose curl l compose releases download 1.25.5 docker compose uname s uname m usr local ...

emqx 新增 mysql 外掛程式進行acl驗證

1 新建表 create table mqtt user id int 11 unsigned not null auto increment,username varchar 100 default null,password varchar 100 default null,salt varch...

使用css完成引導使用者按照流程完成任務的進度導航條

首先先看設計稿 分析需求如下 線的長度不固定,適應移動端和pc端 點平均地分布在一條線上 點的個數不固定,可能會改變 啟用的點之間線的顏色是綠色的 兩種種方式 百分比寬度切分和flex布局 貼上 html charset utf 8 js bintitle head class pub wrap c...