[英]Acl file configuration in Mosquitto
我的蚊子中有 acl 文件:
user b
topic read s1#
topic write s1#
topic write s2
topic read s2
pattern write s3_%c#
pattern read s3_%c#
pattern write s4_%c
pattern read s4_%c
pattern write s5_%u#
pattern read s5_%u#
pattern write s6_%u
pattern read s6_%u
下面从客户端 id abc
请求主题s4_abc
工作正常:
mosquitto_pub -h servername -t s4_abc -m "test" -p 1883 -u b -P b -i abc -d
下面从客户端 id abc
请求主题s3_abcA
失败:
mosquitto_pub -h servername -t s3_abcA -m "test" -p 1883 -u b -P b -i abc -d
为什么会失败? 我期望模式 s3_%c# 表示“s3_abc”之后主题中的任何短语都可以。
ACL 文件中的主题和模式无效,它们需要在通配符之间有一个/
。
通配符只匹配整个主题段。
%u
和%c
也是如此
从 mosquitto.conf 手册页:
可用于替换的模式有:
%c 匹配客户端的客户端 ID %u 匹配客户端的用户名。 替换模式必须是该层次结构级别的唯一文本。 即使之前已经给出了“user”关键字,模式 ACL 也适用于所有用户。
例子:
模式写入传感器/%u/数据
允许访问桥连接消息:
模式写入 $SYS/broker/connection/%c/state
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.