Mnesia认证包含Client ID/Username 。那么,clientid和username应该是什么关系呢?and还是or?
1、开启Mnesia认证
2、按照官方文档,新增clientid和username、password。
https://docs.emqx.cn/broker/v4.3/advanced/auth-mnesia.html
添加好以后,可以查询一下
3、使用MQTT.fx连接测试,分多钟情况(这里clientid和username设置的密码都一样,所以password同时正确或者错误)
1)clientid正确、password正确;username正确、password正确
可以连接
2)clientid不正确、password正确;username正确、password正确
可以连接
3)clientid正确、password正确;username不正确、password正确
可以连接
4)clientid正确、password不正确;username正确、password不正确
不可以连接
5)都不正确
不可以连接
总结:简单的说,clientid和username是“or”的关系,只要有一套正确就能连上来。
当然这只是测试了连接,权限情况没测。
感觉有条件的话,还是使用redis认证要好一点