已解决,谢谢[爱心]
麻烦提供了下emqx的debug日志。
您先看看我配置得对不对呀[可怜]
你图里面加盐方式是suffix,和你描述的不加盐有出入啊,建议你先不加盐,先调通。
而且你先用明文调通是最快的,直接Md5也不要,先plain,一步步来。
不好意思,细看了下:应该是查询的filter内容写错:
{ username = "${username}" }
这样就可以了,不需要password那个。
稍等我,我装个mongo,试试哈。
谢谢,麻烦你了
试了是可以的。教程里面可能有细节你没注意到(应该是没说清楚)。
主要是mongodb要填对数据库名字,和集合名。
我描述一下我的步骤:
- 使用用户密码登录mongo后:
明确现在你在什么db下,我直接登录上来就用了admin
admin> show dbs;
admin 140.00 KiB
config 92.00 KiB
local 72.00 KiB
然后直接插入官方文档数据,注意,它是在admin数据库下创建了mqtt_user的集合。
db.mqtt_user.insertOne(
{
"username": "emqx_u",
"salt": "slat_foo123",
"is_superuser": true,
"password_hash": "44edc2d57cde8d79c98145003e105b90a14f1460b79186ea9cfe83942fc5abb5"
}
);
然后查询:
db.mqtt_user.findOne({username: 'emqx_u'})
{
_id: ObjectId("65003508951f107acccc1e7e"),
username: 'emqx_u',
salt: 'slat_foo123',
is_superuser: true,
password_hash: '44edc2d57cde8d79c98145003e105b90a14f1460b79186ea9cfe83942fc5abb5'
}
以上,mongodb准备工作完成。
在dashboard上创建monogd认证。
- 加密方式plain
- 数据库:admin
- 集合: mqtt_user
然后创建成功后,使用mqttx连接:
点connect
成功