说明
auth.mysql.pool
说明
数据库连接线程池大小。
auth.mysql.username
说明
MySQL 用户名。
说明
auth.mysql.database
说明
MySQL 数据库名称。
auth.mysql.query_timeout
说明
MySQL 数据查询超时时间。查询超时将等同于未找到用户数据处理。
Type | Default |
---|
string | select password from mqtt_user where username = ‘%u’ limit 1 |
说明
占位符 | 说明 |
---|
%u | 将被替换为 MQTT 客户端在 CONNECT 报文中指定的用户名 |
%c | 将被替换为 MQTT 客户端在 CONNECT 报文中指定的客户端标识符 |
%C | 将被替换为 TLS 连接时客户端证书中的 Common Name |
%d | 将被替换为 TLS 连接时客户端证书中的 Subject |
auth.mysql.password_hash
说明
存储在数据库的密码所使用的加密方式。支持以下加密方式:
plain
,支持前后加盐,例如 md5
,支持前后加盐sha
,支持前后加盐sha256
,支持前后加盐sha512
,支持前后加盐pbkdf2
,格式为 pbkdf2,<Hashfun>,<Iterations>,<Dklen>
。其中,<Hashfun>
为使用的哈希函数,支持 md4
,md5
,ripemd160
,sha
,sha224
,sha256
,,sha512
,<Iterations>
为迭代次数,<Dklen>
为导出密钥长度。示例:pbkdf2,sha256,1000,20
auth.mysql.super_query
Type | Default |
---|
string | select is_superuser from mqtt_user where username = ‘%u’ limit 1 |
说明
超级用户认证时使用的 SQL 选取语句,此语句中所有表名与字段名都可视情况修改,当且仅当选取得到字段的值为 1
时,该用户为超级用户。WHERE 子句中支持的占位符与 auth.mysql.auth_query
相同。
Type | Default |
---|
string | select allow, ipaddr, username, clientid, access, topic from mqtt_acl where ipaddr = ‘%a’ or username = ‘%u’ or username = ‘$all’ or clientid = ‘%c’ |
说明
占位符 | 说明 |
---|
%a | 将被替换为客户端 IP 地址 |
%u | 将被替换为 MQTT 客户端在 CONNECT 报文中指定的用户名 |
%c | 将被替换为 MQTT 客户端在 CONNECT 报文中指定的客户端标识符 |