环境信息
- EMQ X 版本:
- 操作系统及版本:
- 其他
问题描述
acl我怎么配置才可以是超级管理员才可以订阅带#号的
订阅带有#的这个不能控制。这个不符合订阅主题定义,可以控制已知的订阅主题带#号的,比如 a/#,b/c/#等,除非你对其他每个用户都控制到具体的主题。可以参考这里:发布订阅 ACL | EMQ Docs
不是超级管理的话, 只能订阅a/2,a/3等等, 不能订阅a/#
#号在这里应该是通配符。a/#包括a/2和a/3,包括所有的a/*
故#无法作为主题。
我要的是 不是超级管理员不能订阅 a/#, 但是能订阅a/2
明白你的意思了。
{allow, all, subscribe, ["a/2"]}.
{deny, all, subscribe, ["a/#", {eq, "#"}]}.
你试试这样可以不,加载时从下往上加载,上边的给下边的开了特例。
可以的, 我想问问mysql 认证{deny, all, subscribe, [“a/#”, {eq, “#”}]}. 怎么实现这个了
我配置了这样的然后 他还是能订阅 b/# . 感觉没启动效果
我用acl.conf 加上是管用的
把
{eq,"b/#"}
换成
b/#
试试
这样的话 我连 b/1 也不能订阅了
我建议你仔细看看官方文档,研究研究哪里不清楚再来问。
这个我配置在mysqlacl 没有效果,在acl.conf中写{deny, all, subscribe, [{eq, “b/#”}]}. 管用
这个是为啥了