繁体   English   中英

Mosquitto 中的 Acl 文件配置

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM