Отключить групповые подписки в ActiveMQ - PullRequest
1 голос
/ 07 января 2020

Можно ли запретить подписки topi c на подстановочные знаки в ActiveMQ 5 (classi c)?

Например, подписка на > будет транслировать все сообщения всем потребителям, даже если потребитель не должен быть в состоянии подписаться на все темы (и даже не в курсе всех тем).

Я уже пытался создать <authorizationEntries> с <authorizationPlugin>, но не смог запретить групповую подписку.

Есть ли у вас какие-либо идеи, как полностью использовать подписку или пересылку сообщений для групповых символов для указанных c / всех пользователей?

1 Ответ

0 голосов
/ 04 февраля 2020

Как поясняется в комментариях, вы подходите к этой проблеме с неправильной стороны. Вместо того, чтобы пытаться отключить подстановочные подписки, правильный подход состоит в том, чтобы ограничить, какие темы будут фактически доставляться независимо от того, на что подписано.

Это делается путем установки соответствующего ACL для каждого пользователя (повторное использование тех же учетных данных для 500k). клиенты - ДЕЙСТВИТЕЛЬНО плохая идея).

ActiveMQ использует систему на основе плагинов для обеспечения контроля аутентификации и авторизации на основе стандарта Java, называемого JAAS. С JAAS вы можете подключить практически любой механизм хранения (например, базу данных, LDAP, ...) к ActiveMQ, чтобы хранить ваши данные о пользователе / ​​пароле и ACL того, к каким темам они могут получить доступ. Подробную информацию о том, как использовать JAAS с ActiveMQ, можно найти здесь

...