acl不生效

环境信息

  • EMQ X 版本:4.3.5
  • 操作系统及版本:centos 7.5
  • 其他

问题描述

下面的配置想达到以下效果,可是不生效:
只有ecpp能订阅$SYS/#主题和推送+/updateVersion +/paymentResult +/deviceLogout +/grayScaleTest +/updateKey

所有的用户都能订阅+/updateVersion +/paymentResult +/deviceLogout +/grayScaleTest +/updateKey

配置文件及日志

{allow, {user, "dashboard"}, subscribe, ["$SYS/#"]}.

{allow, {ipaddr, "127.0.0.1"}, pubsub, ["$SYS/#", "#"]}.

{allow, {user, "ecpp"}, subscribe, ["$SYS/#", "#"]}.
{allow, {user, "ecpp"}, pubsub, ["+/updateVersion", "+/paymentResult", "+/deviceLogout", "+/grayScaleTest", "+/updateKey"]}.

{allow, all, subscribe, ["+/updateVersion", "+/paymentResult", "+/deviceLogout", "+/grayScaleTest", "+/updateKey"]}.

你需要在最后设置默认行为,或者直接修改全局默认配置


没看懂yao要怎么改,我现在就是红框的配置

我现在的配置ecpp这个用户都不能订阅$SYS/brokers/+/clients/#这个主题

你这个ecpp用户名是设备连接时的用户名么,然后你检查下日志,看看日志里面有没有相关报错

找到问题了,生效时间有延迟,不是马上生效的

另外再问下,没有权限推送消息的用户,用mqttx推送,没有报错,那消息是直接丢弃了吗?还是仍然会去到mqtt服务器,只不过没有处理?

@blankalupo
一般要等多久才生效?
emqx_ctl modules reload emqx_mod_acl_internal
emqx_ctl acl reload
curl -i --basic -u admin:public -X DELETE “http://localhost:8081/api/v4/acl-cache
我执行完上面这三行命令,还是没生效

@blankalupo


我已经禁用了,可是haish还是任意用户都能订阅系统主题,是我写错了吗?