acl开启后非注册用户仍可访问

环境信息

  • EMQ X 版本:4.3.2
  • 操作系统及版本:mac
  • 其他

问题描述

开启mysql acl
在mysql中的

1 emqx efa1f375d76194fa51a3556a97e641e61685f914d446979da50a551a4333ffd7 NULL 0 NULL

用户此用户可以访问,并且在密码错误时提示不能访问
但请求时随便写个其他用户可以访问

emqx_auth_mysql.conf 除了个性mysql连接外,没有其他个性

mysql> select * from mqtt_acl;
+----+-------+--------+----------+----------+--------+------------+
| id | allow | ipaddr | username | clientid | access | topic      |
+----+-------+--------+----------+----------+--------+------------+
|  1 |     1 | NULL   | $all     | NULL     |      3 | /#         |
|  4 |     0 | NULL   | emqx     | NULL     |      3 | /mqtt/test |

etc/acl.conf

%%{allow, {user, "dashboard"}, subscribe, ["$SYS/#"]}.
%%{allow, {ipaddr, "127.0.0.1"}, pubsub, ["$SYS/#", "#"]}.
%%{deny, all, subscribe, ["$SYS/#", {eq, "#"}]}.
%%{allow, all}.
%%{deny, all}.

1、开启mysql认证之后,不关闭匿名,仍然可以通过无密码登录, 参考匿名认证 ,关闭匿名认证。
2、acl是发布订阅的认证,是设备的发布/订阅的主题的权限