Брокер Mosquitto: Как отказаться от конкретного топи c? - PullRequest
0 голосов
/ 08 января 2020

В приложении много клиентов. Они используют одно и то же «Имя пользователя» и случайный «Идентификатор клиента» для подключения брокера. Они могут саб / паб любой TOPIC. Теперь я хочу отказаться от какого-то конкретного TOPIC. Как мне настроить брокера? Пожалуйста, помогите.

1 Ответ

0 голосов
/ 08 января 2020

ACL-списки Mosquitto могут использовать pattern записи, в которых используется маркер замещения %c, который включает идентификатор клиента в topi c.

Это означает, что вы можете контролировать доступ к базе topi c. для идентификатора клиента.

Из файла mosquitto.conf man page :

Также возможно определить ACL на основе подстановки шаблонов в topi * 1036. *. Форма такая же, как и для ключевого слова topi c, но в качестве ключевого слова используется pattern.

pattern [read | write | readwrite]

Доступные шаблоны для подстановки:

% c, чтобы соответствовать идентификатору клиента клиента% u, чтобы соответствовать имени пользователя клиента. Шаблон подстановки должен быть единственным текстом для этого уровня иерархии. Списки ACL применяются ко всем пользователям, даже если ранее было задано ключевое слово user.

Пример:

датчик записи шаблона /% u / data

Разрешить доступ к сообщениям мостового соединения:

запись шаблона $ SYS / брокер / соединение /% c / состояние

...