Cómo configurar ActiveMQ para asignar un usuario 'anónimo' y un rol a usuarios no autenticados
Pregunta
Deseo configurar una instancia de ActiveMQ (principalmente como un servidor STOMP) que atenderá las solicitudes de dos tipos de clientes:
- usuarios autenticados que pueden leer y escribir temas
- usuarios no autenticados que solo pueden leer temas
He estado usando SimpleAuthenticationBroker hasta ahora y no puedo ver de todos modos para configurar la situación anterior, ni veo ningún bit en el código que reconozca un comodín para que un usuario pase la autenticación.
Si configuro el servidor para usar el agente de autenticación, esperará que TODAS las conexiones se autentiquen, que es lo que no quiero.
La única solución que creo que puedo ver es proporcionar mi propia implementación para admitir la funcionalidad que necesito, pero me encantaría encontrar alguna forma integrada en el servidor.
Solución
Actualmente, esto no es compatible con la implementación de seguridad de ActiveMQ, pero siempre puede definir un usuario que pueda conectarse sin una contraseña con privilegios de solo lectura.
Puede elevar la solicitud de mejora de Jira ( https://issues.apache.org/activemq/ navegar / AMQ ) para esta función de usuarios no autenticados y mejor aún, proporcionar un parche para los complementos actuales.
Otros consejos
Esta función ahora está disponible a partir de ActiveMQ 5.4, como acabo de encontrar al buscar la misma funcionalidad: http://activemq.apache.org/security.html
A partir de ActiveMQ 5.4, puede configurarlo de la siguiente manera. encuentra el
<plugins>
...
</plugins>
en el archivo etc / activemq.xml
y edítelo para que contenga el SimpleAuthenticationPlugin de esta manera:
<simpleAuthenticationPlugin anonymousAccessAllowed="true" />