emqx启用redis认证插件升级版:同时融入Username和Clientid
简单使用emqx的redis认证插件,可以参考:emqx启用redis认证插件。这样的话,就可以用户名和密码连接,如果还要把clientid加上去一起认证呢?所以就想到了一种勉强的方法。
在设置下面参数之前,一定要先看一下上面的参考链接,流程几乎是一样的
1、修改redis插件 emqx_auth_redis.conf,包括redis地址、密码等,关键的设置是下面框起来的,需要增加-%c,目的是把clientid这个参数融合进去
2、修改emqx.conf
3、把etc下的acl.conf文件删除或者改名字备份掉,如果不去掉的话,客户端连上来以后,所用主题可能都可以订阅发布,redis中的acl数据可能会无效(这一步我没太搞明白和acl_nomatch的关系,还有问题,待测试)
4、启动emqx
5、在redis数据库中增加一个用户和用户权限,请参考官网: https://docs.emqx.cn/broker/v4.3/advanced/auth-redis.html
其他参考:https://blog.csdn.net/freewebsys/article/details/87957795
其中:user001是用户名,ceshi是clientid,这种格式和 emqx_auth_redis.conf 中的配置一样才可以
6、使用client去连接