Mosquitto经纪人:如何拒绝特定主题?

问题描述 投票:0回答:1

该应用程序有很多客户端。他们使用相同的“用户名”和随机的“客户端ID”来连接brocker。他们可以订阅/发布任何TOPIC。现在,我想拒绝某些特定的TOPIC。我应该如何配置代理?请帮助。

mosquitto
1个回答
0
投票

Mosquitto ACL可以使用pattern条目,这些条目使用%c替换标记,该标记在主题中包括客户端ID。>>

这意味着您可以根据客户端ID控制对主题的访问。

来自mosquitto.conf人page

也可以基于模式替换来定义ACL在主题内。形式与topic关键字相同,但使用模式作为关键字。

模式[读|写|读写]

可用于替换的模式是:

%c以匹配客户端%u的客户端ID以匹配用户名客户端替换模式必须是唯一的文本等级级别。模式ACL适用于所有用户,即使“用户”关键字先前已给出。

示例:

模式写入传感器/%u /数据

允许访问网桥连接消息:

模式写入$ SYS / broker / connection /%c / state

© www.soinside.com 2019 - 2024. All rights reserved.