EMQ客户端连接认证的配置教程

 时间:2024-10-26 03:24:16

1、MySQL 认证是较为常用到的EMQ认证方式,其可存储大量数据,方便与外部设备管理系统集成。所使用的插件为emqx_auth_mysql注:emqx_auth_mysql 插件同时包含 ACL 功能,可通过注释禁用。

EMQ客户端连接认证的配置教程

3、在所配置的数据库中(auth.mysql.database项),创建mqtt_user表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;

EMQ客户端连接认证的配置教程

6、在数据库中添加ACL 规则表CREATE TABLE `mqtt_acl` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `allow` int(1) DEFAULT 1 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=utf8mb4;

7、ACL表配置的示例数据:

EMQ客户端连接认证的配置教程

8、ACL规则表字段说明:allow:禁止(0),允许(1)ipaddr:设置 IP 地址username:连接客户端的用户名,此处的值如果设置为$all表示该规则适用于所有的用户clientid:连接客户端的 Client IDaccess:允许的操作:订阅(1),发布(2),订阅发布都可以(3)topic:控制的主题,可以使用通配符,并且可以在主题中加入占位符来匹配客户端信息,例如t/%c则在匹配时主题将会替换为当前客户端的 Client ID%u:用户名%c:Client ID

  • SA213-T91高压锅炉用过热器管的换管方法
  • 5平方米等于多少平方分米多少平方厘米
  • 山药黄花汤的功效
  • 新手适合做的鳗鱼头酸菜汤
  • #美食#梅干菜肉沫炒香菇的做法
  • 热门搜索
    云南河口旅游 出门旅游必备用品清单 荷兰旅游攻略 泰国清迈旅游攻略 成都旅游集散中心 九寨沟旅游线路 贵州乡村旅游 澳门旅游地图 江西省旅游局 长春旅游团