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去连接

 

原文地址:https://www.cnblogs.com/myfrank/p/15783119.html