如何正确配置ACL?

emqx版本5.0.19

{allow, {username, "^dashboard?"}, subscribe, ["$SYS/#"]}.
{allow, {ipaddr, "127.0.0.1"}, all, ["$SYS/#", "#"]}.
{deny, all, subscribe, ["$SYS/#", {eq, "#"}]}.
{allow, {clientid, "admin"}, subscribe, ["$SYS/#"]}.
{allow, {clientid, "talk"}, subscribe, ["$SYS/#"]}.
{allow, all}.

上述代码无法使admin和talk订阅系统主题,把clientid改成username也是不行,但是把第三行代码注释掉就可以注册了.是第三行和第四五行有冲突吗?不能独立允许特定用户注册系统主题?

EMQX 将按照从上到下的顺序进行规则匹配遵,当一个规则匹配到当前客户端时,将返回允许或拒绝操作,后面的规则不再继续匹配。
基于文件进行授权
所以我感觉你应该倒着写