Verteilter Nonce-Cache
In früheren Releases von WebSphere Application Server wurde der Nonce lokal zwischengespeichert. In WebSphere Application Server Version 6 und höher wird verteiltes Nonce-Caching verwendet. Der verteilte Nonce-Cache ermöglicht die Replikation der Nonce-Daten auf den Servern in einem Cluster von WebSphere Application Server.
Wenn Nonce-Elemente in einem SOAP-Header enthalten sind, werden alle Nonce-Werte vom Server im Cluster zwischengespeichert. Wenn der verteilte Nonce-Cache aktiviert ist, werden die zwischengespeicherten Nonce-Werte auf andere Server in demselben Cluster kopiert. Wenn die Nachricht mit demselben Nonce-Wert anschließend an einen der anderen Server gesendet wird, wird die Nachricht zurückgewiesen. Ein empfangener Nonce-Cachewert wird zwischengespeichert und im Push-Verfahren auf anderen Servern im Cluster mit derselben Replikationsdomäne repliziert. Die Replikation ist ein Aufruf, der außerhalb des Prozesses stattfindet, und in manchen Fällen ist dies ein ferner Aufruf. Deshalb kommt es zu einer Verzögerung, wenn der Inhalt des Caches im Cluster aktualisiert wird.
- Ein SOAP-Client sendet eine Nachricht mit dem Nonce abc an den Anwendungsserver A.
- Der Server speichert den Wert im Cache und verteilt ihn im Push-Verfahren an den anderen Anwendungsserver B.
- Wenn der Client die Nachricht mit dem Nonce abc nach Ablauf eines bestimmten Zeitrahmens
an den Anwendungsserver B sendet, wird die Nachricht zurückgewiesen, und
wenn der Anwendungsserver B den Nonce mit demselben Wert innerhalb eines bestimmten Zeitrahmens
empfängt, wird eine Ausnahme vom Typ "SoapSecurityException" vom Anwendungsserver B ausgelöst.
Weitere Informationen finden Sie in den Beschreibungen des Cachezeitlimits, des maximalen Alters und der maximalen Zeitabweichung für Nonces im Artikel Konfigurationseinstellungen für Tokengenerator.
- Wenn der Client die Nachricht mit einem anderen Nonce-Wert, z. B. xyz, sendet, wird die Nachricht akzeptiert. Der Wert wird von Anwendungsserver B im Cache gespeichert und auf die anderen Anwendungsserver in demselben Cluster kopiert.