2010-06-23 3 views
6

Mir fällt es schwer, das ZeroMQ-Nachrichtensystem zu verstehen, also wollte ich vor dem Eintauchen herausfinden, ob jemand wüsste, ob das, was ich tun möchte, überhaupt möglich ist.Anmeldung mit ZeroMQ

Ich möchte einen Pubsub-Server mit ZeroMQ einrichten, die bestimmte Datenströme veröffentlichen und einige dieser Streams abonnieren, muss ein Benutzer authentifizieren, um zu sehen, ob sie Zugriff auf diese Streams haben. Alles, was ich gesehen habe, findet mit dem Befehl zmq.SUBSCRIBE statt.

Kann dies zur Authentifizierung geändert werden? Unterstützt es out-of-the-box?

Antwort

7

Nein, eine solche Funktionalität gibt es nicht. ZeroMQ arbeitet auf einer niedrigeren Ebene und es ist wahrscheinlich, dass Auth-Funktionen niemals im Kern sein werden.

Da pubsub über IP-Multicast implementiert wird, kann ich vorschlagen, einen Auth-Server zu schreiben, der einen Netzwerkrouter steuert und den gesamten Multicastverkehr zum Client über IP/Port verbietet, bis dieser Client nicht autorisiert wird. Sie können natürlich in diesem Fall die Authentifizierungsmethode wählen.

Wenn Sie ZeroMQs Stabilität und Leistung den Entwicklungskosten opfern können, nehmen Sie einfach ActiveMQ. Es hat authentication features.