kapua, клиент Kura не авторизован для записи в: topic://VirtualTopic.hahaha.kapua

Когда кура была опубликована на localhost: 1883 на Капуа, я получил следующие ошибки:

ПРЕДУПРЕЖДЕНИЕ oekbcpKapuaSecurityBrokerFilter - Пользователь 1:kapua-broker (kapua-broker - tcp://10.0.2.2:56178 - идентификатор conn не авторизован для записи в: topic://VirtualTopic.hahaha.kapua 1840321435420579455)-Broker.DHD. 13:26:43.493 [ActiveMQ NIO Worker 5] WARN oaabTransportConnection.Service - Ошибка безопасности при подключении к: tcp://10.0.2.2:56178, пользователь 1:kapua-broker (kapua-broker - tcp://10.0.2.2:56178 - conn id 1840321435420579455) не разрешено писать в: topic://VirtualTopic.hahaha.kapua-broker.DHT11Sensor.DHT11Data 13:26:43.493 [ActiveMQ NIO Worker 5] WARN oaatmqtt.MQTTrocketConverter Публикация: 13:26:48.495 [ActiveMQ NIO Worker 6] ПРЕДУПРЕЖДЕНИЕ oekbcpKapuaSecurityBrokerFilter - пользователь 1:kapua-broker (kapua-broker - tcp://10.0.2.2:56178 - идентификатор conn 1840321435420579455) не авторизован для записи

2 ответа

Как я знаю, в Kapua есть правила доступа ACL, которые определяют, кто может публиковать / подписывать / администрировать различные темы / каналы на брокере. Если вы подключились к Kapua с пользователем, обладающим привилегиями брокера, то вы могли бы писать только в раздел: topic://VirtualTopic.{Account-name}.{Client-id}. В данном случае это будет означать, что у вас есть аккаунт hahaha и клиент с идентификатором капуа-брокер. Это тот случай? Если не установить тему соответственно. Например, что-то вроде этого: topic://VirtualTopic.kapua-sys.client-1.DHT11Sensor.DHT11Data и когда вы подключаетесь с пользователем kapua-broker, укажите client-1 в качестве идентификатора клиента. Пользователь Kapua-broker находится под учетной записью kapua-sys (это немного сбивает с толку, поскольку kapua-sys также является пользователем). Вам это поможет?

Я не могу комментировать @uros-mesaric вопрос. Его ответ правильный. Ниже есть только разъяснение

В Kapua вам разрешено публиковать / подписываться в соответствии с вашим разрешением.

Если ваш пользователь имеет только broker:connect разрешение вы можете публиковать / подписываться только по теме:

{account-name}/{connectionClientId}/{semanticTopic}

В вашем конкретном случае вы должны опубликовать / подписаться на тему:

kapus-sys/1840321435420579455/DHT11Sensor/DHT11Data

kapua-sys имя учетной записи, к которой принадлежит пользователь kapua-broker, а 1840321435420579455 это clientId, используемый для создания соединения.

Обратите внимание, что имя пользователя, используемое для подключения, и имя учетной записи в Kapua - две разные вещи. Учетная запись имеет несколько пользователей.

Другие вопросы по тегам