Cache répartie de la valeur Nonce
Dans les versions précédentes de WebSphere Application Server, la valeur nonce était mise en cache en local. WebSphere Application Server version 6 ou ultérieure utilisent la mise en cache répartie de la valeur nonce. La mémoire cache répartie de la valeur nonce permet de répliquer des données nonce entre les serveurs d'un cluster WebSphere Application Server.
Si un en-tête SOAP contient des éléments nonce, toutes les valeurs nonce sont mises en cache par le serveur dans le cluster. Si la mémoire cache répartie de la valeur nonce est activée, les valeurs nonce mises en cache sont copiées sur d'autres serveurs du même cluster. Ensuite, si le message comportant la même valeur nonce est envoyé à un ou plusieurs des autres serveurs, le message est rejeté. Une valeur cache nonce reçue est mise en mémoire cache et répliquée en insertion entre d'autres serveurs du cluster avec le même domaine de réplication. La réplication est un appel hors processus et dans certains cas, un appel éloigné. Par conséquent, il y a un délai d'attente lorsque le contenu de la mémoire cache du cluster est mis à jour.
- Un client SOAP envoie au serveur d'applications A un message dont la valeur nonce est abc.
- Le serveur met la valeur en mémoire cache et l'insère dans le serveur d'applications B.
- Si le client envoie le message après un certain intervalle de temps au serveur d'applications B, à l'aide d'une valeur nonce de abc, le message est rejeté et, si le serveur d'applications B reçoit la même valeur nonce dans un délai spécifié, un SoapSecurityException est émis par le serveur d'applications B.
Pour plus d'informations, consultez la rubrique Paramètres de configuration du générateur de jetons qui explique le délai d'expiration de la mémoire cache de la valeur nonce ainsi que l'âge maximal et le décalage d'horloge de la valeur nonce.
- Si le client envoie le message à l'aide d'une autre valeur nonce de xyz, le message est accepté, la valeur est mise en mémoire cache par le serveur d'applications B et copié sur les autres serveurs du même cluster.