• EMQX 4.0 插件 EMQX 5.0 全部集成,使用功能时均不需要开启插件

如:开启用户名认证也不需要开启emqx_auth_username,其实 EMQX 5.0 没有这些开启插件的入口

1.1 内置数据库(Mnesia)的密码认证

1.2 MySQL 的密码认证

注意:5.0 的表结构和 4.0不兼容, 先建 mqtt数据库 + mqtt_user表

CREATE TABLE `mqtt_user` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `username` varchar(100) DEFAULT NULL,
  `password_hash` 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;

1.3 认证链(主要讲解 EMQX5.0)

  • 所有认证器都认证失败,拒绝连接
  • 只要有一个认证器认证成功,允许连接
  • 客户端多、连接速率高使用 Redis 作为数据源的认证器(Redis 认证器)与 MySQL 或者 PostgreSQL 认证器搭配使用,也就是将 Redis 作为缓存层以提高查询性能。
  • MQTT 客户端的认证支持认证链(多个顺序运行的认证器组成)
  • 通过网关接入的客户端仅支持使用单个认证器
  • 认证链中不允许出现相同类型的认证器

当同时启用多个认证方式时,EMQX将按照插件开启先后顺序进行链式认证:

  • 成功,终止认证链,客户端接入
  • 失败,终止认证链,禁止客户端接入

1.3.1 图解

1.3.2 忽略与认证链中认证的先后顺序

EMQX 5.0 中

  • 是否启动:代表是否忽略
  • 顺序:上面优先级最高(如图:Built-in Database 优先级高于MySQL)

1.4 示例 (EMQX 5.0 中效果)

  1. Built-in Database 开启 客户端ID认证
  2. MYsql 开启 用户名认证

无论1和2认证的先后,只要有一个认证成功,均可以连接

2、不能在emqx_auth_username.conf中直接添加用户名密码,会导致程序启动失败,应该在WEB控制台或者命令行启用用户名认证,然后用命令行添加用户名和密码: 启用认证插件: ./emqx_ctl plugins load emqx_auth_username 添加用户名及密码:./emqx_ctl users add ... auth.mnesia.password_hash = sha256 ##-------------------------------------------------------------------- ## ClientId Authentication
以下是安装 TensorFlow 1.13.1 和 Keras 2.2.4 的步骤: 1. 首先,确保你已经安装了 Python,建议使用 Python 3.5 - 3.7 版本。 2. 打开终端(Mac/Linux)或命令提示符(Windows)。 3. 在终端或命令提示符中输入以下命令来安装 TensorFlow 1.13.1: pip install tensorflow==1.13.1 4. 安装完成后,输入以下命令来安装 Keras 2.2.4: pip install keras==2.2.4 5. 安装完成后,你可以在 Python 中导入 TensorFlow 和 Keras 来开始使用它们: import tensorflow as tf import keras 这样,你就成功地安装了 TensorFlow 1.13.1 和 Keras 2.2.4。
[IDEA] 异常 Configuration is still incorrect. Do you want to edit it again? Error: module not specifie 59766 [IDEA]报错 Could not autowire. No beans of 'XXXMapper' type found. less... (Ctrl+F1) ladymorgana: 你清除本地缓存,重新编译看看,