Я пытался создать плагин авторизации с несколькими арендаторами ActiveMQ. Я использую JMSToolBox для подключения к ActiveMQ.
Список клиентов - это динамический c. Новый клиент может быть создан во время выполнения. Темы арендатора содержат в своем имени идентификатор арендатора. Например, topi c .5e8afee20d8382706d46d174, имеет идентификатор клиента 5e8afee20d8382706d46d174. Идентификатор клиента сохраняется в контексте безопасности пользователя при первоначальном подключении. Я создал собственный BrokerFilter, который предотвращает подписку / отправку сообщений в пункты назначения, не являющиеся арендаторами. Проблема в том, что все пункты назначения видны всем подключенным пользователям.
Я попытался перегрузить все методы получения адресатов. Они не были вызваны, и у них нет контекста безопасности в качестве параметра. Я экспериментировал с плагином авторизации, но он не фильтровал их, а только предотвращал подписку / отправку сообщений.
Я хотел бы отображать список назначения фильтра, если возможно, используя данные пользователя из контекста безопасности.
Спасибо!