So konfigurieren ActiveMQ eine ‚anonyme‘ Benutzer und Rolle nicht-authentifizierten Benutzern zuweisen
Frage
Ich möchte eine ActiveMQ-Instanz (in erster Linie als STOMP-Server) einzurichten, welche Anfragen von zwei Arten von Clients bedienen werden:
- authentifizierten Benutzern, die Themen lesen und schreiben
- nicht-authentifizierte Benutzer, die von Themen nur lesen
Ich habe bisher die SimpleAuthenticationBroker benutzen und ich kann sowieso nicht zu konfigurieren, dass die oben beschriebene Situation sehen, noch sehe ich jedes Bit in dem Code, der einen Platzhalter für einen Benutzer erkennt Authentifizierung zu übergeben.
Wenn ich den Server so konfigurieren, den Authentifizierungsbroker zu verwenden, werden alle Verbindungen erwarten zu authentifizieren, das ist, was ich nicht will.
Die einzige Lösung, ich glaube, ich sehen kann, ist meine eigene Implementierung, um die Funktionalität, die ich benötigen Unterstützung, aber ich würde gerne einen Weg in den Server eingebaut finden.
Lösung
Dies ist nicht von ActiveMQ Sicherheitsimplementierung unterstützt, aber man kann immer einen Benutzer definieren, die ohne Passwort mit Nur-Lese-Berechtigungen verbinden kann.
Sie können Jira-Erweiterungsanfrage erhöhen ( https://issues.apache.org/activemq/ durchsuchen / AMQ ) für diese nicht-authentifizierte Benutzer verfügen und besser bieten noch einen Patch für aktuelle Plugins.
Andere Tipps
Diese Funktion ist jetzt als von ActiveMQ 5.4, wie ich gerade gefunden habe, als für die gleiche Funktionalität der Suche: http://activemq.apache.org/security.html
Ab ActiveMQ 5.4, können Sie es auf folgende Weise nach oben. finden die
<plugins>
...
</plugins>
Abschnitt in der etc/activemq.xml
Datei und bearbeiten sie die simpleAuthenticationPlugin wie diese enthalten:
<simpleAuthenticationPlugin anonymousAccessAllowed="true" />