Mosquitto 访问控制列表 (ACL) 不起作用

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

我有一个在 Windows 计算机上运行的 mosquitto MQTT 代理。我正在尝试控制某个用户可以订阅发布的主题。

我创建了一个测试用户(“test”)并将该用户添加到密码文件中。

客户端可以连接到代理并通过用户名、密码和 SSL 进行身份验证。 它还可以接收已发布的消息。

但是每当我将 ACL 文件添加到每个侦听器配置中时,客户端都无法接收任何已发布的消息。

这是我的全局配置

per_listener_settings true

这是我的每个侦听器配置。

listener 9996
cafile C:\Certificates\ca.crt
certfile C:\Certificates\server.crt
keyfile C:\Certificates\server.key
require_certificate true
use_identity_as_username true
acl_file C:\mosquittoaccesscontrol.acl
password_file c:\mosquittopasswords.txt

这是我的 ACL 文件配置

user test
topic #
mqtt acl
1个回答
0
投票

好的。我发现了问题。当您设置时:

use_identity_as_username true

它使用客户端证书中的通用名称 (CN) 作为 MQTT 用户名,因此,用户名与 ACL 文件中指定的用户名不同。

我已经设置了

use_identity_as_username false
,现在它可以工作了。

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