我无法弄清楚为什么我可以与一个用户订阅所有主题而不是另一个用户。我在不同的时间点设置它们,也许我忘记了原始用户的一步。
Mosquitto经纪人v1.5.5
acl_file包含
user foo
topic readwrite #
user bar
topic readwrite #
当我连接用户foo并订阅'#'
时,我从发布测试中获取所有消息。
当我连接用户栏并订阅'#'
时,我的发布测试没有收到任何消息。
当我尝试使用用户栏的错误用户名/密码连接时,我收到预期的错误。 Mosquitto的日志清楚地显示条形连接成功。
当连接用户foo并发布消息时,mosquitto日志显示Received PUBLISH
然后Sending PUBACK
然后Sending PUBLISH
当连接用户栏并发布消息时,mosquitto日志显示Received PUBLISH
然后Sending PUBACK
并且不显示Sending PUBLISH
当我将我的acl文件中的条目反转为,
user bar
topic readwrite #
user foo
topic readwrite #
用户都没有得到Sending PUBLISH
消息。我希望别人能发现问题的根源,谢谢。
在搜索mosquitto changelog时,我认为有些空白可能是罪魁祸首。我再次检查了我的acl文件,发现了一个问题来源的空间:
对于违规用户,我在#
通配符后有一个空格,topic readwrite #
现在用户foo正在接收消息