Propriétés personnalisées pour la gestion de sessions

Vous pouvez définir des paramètres supplémentaires pour la gestion de sessions via les propriétés personnalisées de paramètres.

Les propriétés de la gestion de session, comme sa configuration, peuvent être paramétrées au niveau serveur, application ou module Web. Les étapes suivantes permettent de paramétrer les propriétés personnalisées de la gestion de session au niveau serveur.
  1. Dans la console d'administration, cliquez sur Serveurs > Types de serveurs > Serveurs d'applications WebSphere > nom_serveur > Gestion de session.
  2. Dans Propriétés supplémentaires, cliquez sur Propriétés personnalisées.
  3. Dans la page Propriétés personnalisées, cliquez sur Nouveau.
  4. Dans la page de paramètres, entrez la propriété à configurer dans la zone Nom et la valeur à lui associer dans la zone Valeur.
  5. Cliquez sur Valider ou sur OK.
  6. Cliquez sur Sauvegarder dans la barre des tâches de la console d'administration pour sauvegarder les modifications apportées à la configuration.
  7. Redémarrez le serveur.

AlwaysEncodeURL

La Spécification Servlet 2.5 indique qu'il ne faut pas encoder l'URL sur l'appel response.encodeURL si ce n'est pas nécessaire. Pour assurer la compatibilité avec les versions antérieures lorsque le codage des URL est activé, affectez à la propriété personnalisée AlwaysEncodeURL la valeur true pour appeler la méthode encodeURL. L'URL est toujours encodée, même si le navigateur prend en charge les cookies. La propriété doit être configurée au niveau du conteneur Web.

CheckSessionCookieNameOnEncodeURL

Utilisez cette propriété pour vérifier l'existence du cookie de session HTTP lorsque vous déterminez si l'ID de session doit être codé dans l'adresse URL. Elle doit être configurée au niveau du conteneur Web.

La valeur par défaut de cette propriété est false. Lorsque vous l'associez à la valeur true, vous permettez au gestionnaire de session de vérifier l'existence du cookie de session HTTP lorsqu'il détermine si l'ID de session doit être codé dans l'adresse URL.

checkSessionNewOnIsValidRequest

Cette propriété permet d'indiquer si le serveur peut gérer plusieurs demandes de client simultanées lorsque la propriété HttpSessionIdReuse est activée. Elle doit être configurée au niveau du conteneur Web.

Par défaut, le gestionnaire de session gère une seule demande de client à un moment donné, lorsque la propriété HttpSessionIdReuse est également activée. Paramétrez checkSessionNewOnIsValidRequest sur false pour autoriser le gestionnaire de session à gérer plusieurs demandes simultanées d'un client lorsque la propriété HttpSessionIdReuse est activée. Si HttpSessionIdReuse n'est pas activée, cette propriété n'a pas d'effet.

Vous devez ensuite redémarrer le serveur afin que le changement de configuration soit pris en compte.

La valeur par défaut de cette propriété est true.

CloneSeparator

Utilisez cette propriété pour spécifier un caractère différent en tant que séparateur de clones dans des cookies de session. La valeur définie de cette propriété personnalisée doit être un caractère.

Cette propriété a été définie comme propriété personnalisée de conteneur Web dans la version 6.1, mais vous devez la définir comme propriété personnalisée de gestion de session au niveau du conteneur Web.

Pratiques recommandées Pratiques recommandées: Cette propriété doit uniquement être considérée comme un moyen d'offrir davantage de flexibilité au cas où vous ne pouvez pas utiliser le signe deux-points (:) ou le signe plus (+) comme séparateur de clones dans des cookies de session. Vous devez comprendre les exigences du caractère de clone des autres produits s'exécutant sur votre système avant d'utiliser cette propriété pour modifier le caractère séparateur de clones.

Le fait que n'importe quel caractère peut être spécifié comme valeur de cette propriété personnalisée n'implique pas que le caractère que vous indiquez fonctionne correctement. Ce fait n'implique pas non plus qu'IBM est responsable du traitement des incidents pouvant découler de l'utilisation d'un caractère alternatif.

bprac

CloneSeparatorChange

Utilisez cette propriété pour gérer l'affinité des sessions. L'ID clone du serveur est ajouté à l'identificateur de session et est séparé par le signe deux-points (:). Sur certaines unités WAP (Wireless Application Protocol), le signe deux points (:) n'est pas autorisé. Associez cette propriété à la valeur true pour remplacer le séparateur par le signe plus (+). Elle doit être configurée au niveau du conteneur Web.

DebugSessionCrossover

La propriété personnalisée DebugSessionCrossover permet au code d'effectuer des vérifications supplémentaires pour contrôler que le processus accède ou fait référence uniquement à la session associée à la demande. En cas d'incohérences, des messages sont consignées.

Définissez la propriété sur true pour activer la détection d'erreurs de données de session.

Pour plus d'informations, voir l'article, Incidents de session HTTP.

DelayAfterDuplicateIdException

La propriété personnalisée DelayAfterDuplicateIdException indique le délai, en millisecondes, pendant lequel le gestionnaire de session doit attendre avant de tenter d'extraire une session du serveur dorsal après la survenance d'une erreur SESN0196W. Elle doit être configurée au niveau du conteneur Web.

La valeur par défaut de cette propriété est 500.

DelayInvalidationAlarmDuringServerStartup

Cette propriété permet de différer le démarrage de l'alarme d'invalidation au démarrage du serveur du nombre de secondes indiqué.

La valeur par défaut de cette propriété est 0.

ForceSessionInvalidationMultiple

La propriété personnalisée ForceSessionInvalidationMultiple indique si le gestionnaire de session doit attendre indéfiniment qu'une demande soit terminée avant de tenter d'invalider la session, ou s'il doit attendre un délai pré-défini avant d'invalider la session. La valeur par défaut de cette propriété est 3.

  • Si vous spécifiez 0 (zéro) pour cette propriété, le gestionnaire de sessions attendra indéfiniment la fin d'une demande avant de tenter d'invalider la session.

    Si normalement vos demandes ne sont pas liées par une limite du temps de réponse, spécifiez 0 pour cette propriété.

  • Si vous indiquez un entier positif, comme 1, 2 ou 3, pour cette propriété personnalisée, même sur la session qui n'est pas définie comme terminée, le gestionnaire de session tentera d'invalider la session au terme du délai indiqué après la dernière tentative d'accès. L'on obtient ce délai en multipliant la valeur spécifiée pour cette propriété et la valeur spécifiée pour la propriété Session Timeout. Ainsi, si vous spécifiez 2 minutes pour la propriété Session Timeout et 2 pour la propriété ForceSessionInvalidationMultiple, le gestionnaire de sessions tentera d'invalider la session au bout de 4 minutes.

    Si vous voulez invalider vos sessions au bout d'un certain laps de temps, spécifiez pour cette propriété l'entier positif qui convient.

HideSessionValues

La propriété personnalisée HideSessionValues empêche la consignation de valeurs d'attribut de session dans les traces du gestionnaire de session. Elle doit être configurée au niveau du conteneur Web.

Les applications stockent ces valeurs d'attribut de session. La valeur par défaut est true.

HttpSessionCloneId

Utilisez cette propriété pour modifier l'ID clone d'un membre du cluster. Cet ID doit être unique au sein d'un cluster pour assurer l'affinité des sessions. Une fois défini, ce nom remplace le nom par défaut généré par WebSphere Application Server. Elle doit être configurée au niveau du conteneur Web.

[AIX Solaris HP-UX Linux Windows]Longueur de l'ID clone par défaut: 8 ou 9

[IBM i][z/OS]Longueur de l'ID clone par défaut : 40

[z/OS]

HttpSessionEnableUnmanagedServerReplication

Définissez cette propriété personnalisée sur true si vous souhaitez activer la reprise en ligne du serviteur en répliquant les données de session dans un espace de données géré par un contrôleur. La valeur par défaut est false.

HttpSessionIdLength

Utilisez cette propriété pour configurer la longueur de l'identificateur de session. N'utilisez pas de valeur trop faible. Une valeur trop faible limite le nombre de combinaisons possibles et augmente les risques d'identification de la valeur choisie. Dans un cluster, tous les membres doivent être configurés avec un ID de même longueur. Plage autorisée : 8 à 128. Longueur par défaut : 23. Elle doit être configurée au niveau du conteneur Web.

HttpSessionIdReuse

La propriété HttpSessionIdReuse permet d'indiquer si le gestionnaire de session peut utiliser l'ID de session transmis depuis un navigateur pour préserver les données de la session pour toutes les applications Web exécutées au sein d'un environnement sur lequel la persistance des sessions n'est pas activée. Elle doit être configurée au niveau du conteneur Web.

Dans un environnement à plusieurs machines virtuelles Java sur lequel la persistance des sessions n'est pas configurée, le fait de définir cette propriété sur true permet au gestionnaire de sessions d'utiliser les mêmes informations de session pour l'ensemble des requêtes d'un utilisateur, même si les applications Web traitant ces requêtes sont gérées par différentes machines virtuelles Java. La valeur par défaut de cette propriété est false. Paramétrez cette propriété surtrue si vous souhaitez permettre au gestionnaire de sessions d'utiliser l'ID de session transmis depuis un navigateur pour préserver les données de la session pour toutes les applications Web exécutées au sein d'un environnement sur lequel la persistance des sessions n'est pas activée.

[z/OS]Dans un système z/OS comprenant plusieurs serviteurs, dans de rares cas, deux demandes arrivent à peu près en même temps et sont acheminées vers deux serviteurs distincts. Cependant, comme ces deux demandes sont pratiquement simultanées, elles demandent une nouvelle session avec le même ID session. Dans ce cas, si la propriété HttpSessionIdReuse est définie sur true, le message d'erreur suivant est consigné sur l'un des serviteurs et ce serviteur n'obtient pas de session :
ExtendedMessage: BBOO0220E: SessionContext:createSession - call to
establishAffinity for id numéro_ID failed with rc 4

HttpSessionReaperPollInterval

Utilisez cette propriété pour indiquer, en secondes, l'intervalle d'activation du processus chargé de supprimer les sessions non autorisées. La valeur spécifiée pour cette propriété remplace la valeur de l'installation par défaut, qui est comprise entre 30 et 360 secondes et garantit l'exécution du processus du collecteur à un intervalle spécifique.

Si l'intervalle d'inactivité maximal est inférieur à 2 minutes, l'intervalle d'interrogation du collecteur est généralement compris entre 30 et 60 secondes.

Si l'intervalle d'inactivité maximal est compris entre 2 minutes et 15 minutes, l'intervalle d'interrogation du collecteur est généralement compris entre 30 et 60 secondes.

Si l'intervalle d'inactivité maximal est compris entre 15 minutes et 30 minutes, l'intervalle d'interrogation du collecteur est généralement compris entre 120 et 180 secondes.

Si l'intervalle d'inactivité maximal est supérieur à 30 minutes, l'intervalle d'interrogation du collecteur est généralement compris entre 240 et 300 secondes.

Etant donné que le délai d'expiration par défaut et l'intervalle d'inactivité maximal sont de 30 minutes, l'intervalle du collecteur est généralement compris entre 2 et 3 minutes.

Par exemple, vous pouvez choisir d'utiliser cette propriété si vous voulez que les sessions ayant dépassé le délai d'expiration d'installation soient invalidées à une fréquence de plus 2 ou 3 minutes. Si vous spécifiez HttpSessionReaperPollInterval=120, les sessions sont invalidées dans les 2 minutes suivant l'expiration.

La valeur minimale de cette propriété est de 30 secondes. Si une valeur inférieure à la valeur minimale est entrée, la propriété spécifiée est ignorée et une valeur appropriée est automatiquement déterminée et utilisée. L'intervalle d'inactivité maximal correspond au délai d'expiration de la session. La valeur par défaut repose sur l'intervalle d'inactivité maximal défini dans la gestion de session.

InvalidateOnUnauthorizedSessionRequestException

Affectez à cette propriété la valeur true si, en réponse à une demande non autorisée, vous souhaitez que le gestionnaire de session invalide une session au lieu d'émettre un message d'erreur UnauthorizedSessionRequestException.

Lorsqu'une session est invalidée, le demandeur peut créer une session mais n'a accès à aucune des données de session précédemment enregistrées. Cette invalidation permet à un seul utilisateur de continuer de traiter les demandes après une déconnexion, tout en protégeant les données de session.

Par défaut, cette propriété a la valeur false.

NoAdditionalSessionInfo

Affectez la valeur true à cette propriété pour forcer la suppression des informations inutiles dans les identificateurs de session. Elle doit être configurée au niveau du conteneur Web.

NoAffinitySwitchBack

Affectez à cette propriété la valeur true pour conserver l'affinité avec le nouveau membre, même après la restauration du membre d'origine. Lorsqu'un membre du cluster est défectueux, ses demandes sont acheminées vers un autre membre et les sessions sont activées dans cet autre membre. L'affinité de session est maintenue avec le nouveau membre. Lorsque le membre défaillant est est de nouveau opérationnel, les demandes de sessions créées dans le membre d'origine lui sont réacheminées. Les valeurs autorisées sont true ou false, false étant la valeur par défaut. Elle doit être configurée au niveau du conteneur Web.

Associez cette propriété à la valeur true lorsque les sessions réparties sont configurées avec une écriture basée sur l'heure. Lors de l'utilisation de la réplication de session mémoire à mémoire, définissez la propriété personnalisée HttpSessionCloneId de manière à activer le retour d'affinité. Notez que cette propriété n'a aucun impact sur le comportement lorsque les sessions distribuées ne sont pas activées.

OptimizeCacheIdIncrements

Affectez à la propriété personnalisée OptimizeCacheIdIncrements la valeur true pour que le gestionnaire de session évalue si la session en mémoire pour un module Web est plus ancienne que la copie dans le stockage permanent. Cette propriété résout l'augmentation continue des ID en cache.

Si la gestion de session HTTP est configurée pour utiliser la persistance des sessions et que la session du navigateur de l'utilisateur va et vient entre de multiples applications Web, vous constaterez sans doute une activité supplémentaire dans le stockage permanent car les sessions en mémoire pour un module Web sont rafraîchies à partir du stockage permanent. En conséquence, les ID en cache augmentent constamment et les attributs de la session en mémoire sont écrasées par ceux de la copie persistante. Attribuez à cette propriété la valeur true si vous souhaitez éviter l'augmentation permanente des ID en cache.

Dans une configuration en cluster, vérifiez que chaque membre du cluster a la même heure système.

SecurityUserIgnoreCase

Affectez la valeur true à cette propriété si vous souhaitez que l'identité de sécurité de niveau session et l'identité de sécurité client soient considérées comme étant concordantes même si leurs casses sont différentes.

Lorsque un utilisateur configure l'intégration de la sécurité de niveau session, le gestionnaire de session compare l'identité de sécurité du propriétaire de la session avec l'identité de sécurité de la demande du client. Comme une distinction entre majuscules et minuscules est opérée dans les critères de correspondance, si ces deux identités ne correspondent pas exactement, une exception UnauthorizedSessionRequestException est renvoyée au client.

Si, dans certaines situations, vous souhaitez que l'identité de sécurité de niveau session et la sécurité d'identité du client soient considérées comme étant concordantes même si leurs casses sont différentes, ajoutez la propriété personnalisée SecurityUserIgnoreCase à vos paramètres de configuration de conteneur Web et paramétrez la propriété sur true. Si cette propriété a la valeur true, une exception UnauthorizedSessionRequestException n'est pas générées si l'identité de sécurité de niveau session et la sécurité d'identité du client sont identiques à l'exception de leurs casses. Par exemple, si cette propriété est définie sur true, l'identité de sécurité de niveau session UTILISATEUR1 correspond aux identités de sécurité de client Utilisateur1 et utilisateur1.

Servlet21SessionCompatibility

Associez cette propriété personnalisée à la valeur true pour activer le comportement de session global. Dans Servlet 2.2 et versions ultérieures, la portée des sessions est le module Web. La valeur par défaut est false.

Fonction obsolète Fonction obsolète: Cette propriété est obsolète. La méthode IBMApplicationSession remplace la fonction de la propriété personnalisée Servlet21SessionCompatibility.depfeat

SessionIdentifierMaxLength

Utilisez cette valeur pour définir la longueur maximale d'un identificateur de session. Elle doit être configurée au niveau du conteneur Web.

Dans un cluster, en raison de la reprise qui se produit lors d'une requête émise vers un nouveau membre de cluster, la gestion de session ajoute un nouvel ID clone à l'ID clone existant. Dans un cluster important, si des serveurs sont défectueux plus fréquemment, il est possible que la longueur de l'identificateur de session réduise trop l'espace prévu pour l'URL. Cette propriété permet de retrouver la condition et de prendre les actions appropriées pour résoudre les reprises de serveurs. Si l'option est définie, un message est consigné lorsque la longueur maximale est atteinte. Valeur autorisée : entier.

SessionInvalidatorThreadPoolSize

Indique la taille maximale du pool d'unités d'exécution pour les unités d'exécution qui collectent les sessions non valides ayant expiré. Ces unités d'exécution sont chargées de prévenir les autres serveurs si les sessions sont distribuées et de nettoyer les éventuelles références locales à ces sessions. Si la fréquence d'expiration des sessions est plus élevée en raison d'un intervalle de délai d'attente réduit et si le nombre de sessions est plus élevé en raison d'un trafic important, le nombre de ces unités d'exécution doit être supérieur.

La valeur par défaut est 50. La valeur minimale est 20 et la valeur maximale est 100.

SessionRewriteIdentifier

Cette propriété permet de modifier la clé utilisée pour la réécriture d'URL. La clé par défaut est jsessionid.

SessionTableName

Utilisez cette propriété personnalisée pour définir le nom de la table de base de données. Valeur admise : chaîne. La valeur par défaut est SESSIONS.

Certaines applications s'appuient sur la méthode ejbCreate(...) pour la création du bean entity dans la base de données. Dans ce cas, l'association de la propriété JVM com.ibm.websphere.ejbcontainer.allowEarlyInsert à la valeur true remplace le comportement par défaut.

SessionTableSkipIndexCreation

Cette propriété permet de désactiver la création d'index au démarrage du serveur.

Cette propriété personnalisée doit être utilisée uniquement si vous souhaitez créer manuellement vos propres index de base de données pour la persistance de session. Il est cependant conseillé de laisser le gestionnaire de sessions créer les index de base de données.

Pour activer cette propriété, accédez à la page des propriétés personnalisées de gestion de sessions dans la console d'administration, entrez le nom de propriété SessionTableSkipIndexCreation puis attribuez-lui la valeur true. Avant d'activer cette propriété, assurez-vous que l'index correct existe sur votre base de données de sessions.

ThrowSecurityExceptionOnGetSessionFalse

Associez cette propriété personnalisée à la valeur false pour que la gestion de session puisse renvoyer une valeur de session null au lieu d'une exception UnauthorizedSessionrequestException. La valeur par défaut est true.

UseInvalidatedId

Associez cette propriété personnalisée à la valeur true pour réutiliser l'ID entrant si la session associée à cet ID a été invalidée récemment. Vous optimiserez ainsi les performances en empêchant la vérification du stockage permanent. La valeur par défaut est true.

UseOracleBLOB

La propriété personnalisée UseOracleBLOB crée la table de bases de données des sessions HTTP à l'aide d'un type de données BLOB (Binary Large Object) pour la colonne intermédiaire. Cette propriété augmente les performances des sessions persistantes lorsque des bases de données Oracle sont utilisées. En raison d'une restriction liée à Oracle, le support BLOB requiert l'utilisation du pilote de base de données OCI (Oracle Call Interface) d'Oracle pour des données supérieures à 4000 octets. Vous devez également vérifier qu'une nouvelle table de sessions est créée avant le redémarrage du serveur en supprimant les anciennes tables de session ou en modifiant la définition de la source de données pour référencer une base de données qui ne contient pas de table de sessions.

Pour créer une table de sessions à l'aide d'un type de données BLOB, utilisez la paire nom-valeur suivante :
Nom Valeur
UseOracleBLOB true

UsingApplicationSessionsAndInvalidateAll

Lors de l'appel à la méthode invalidateAllSet, tous les objets IBMApplicationSessions ne sont pas vérifiés. Si vous utilisez à la fois l'objet IBMApplicationSessions et l'appel invalidateAll, utilisez la paire valeur-nom suivante :

Nom Valeur
UsingApplicationSessionsAndInvalidateAll true

UsingCustomSchemaName

Utilisez cette propriété pour vérifier que le gestionnaire de sessions détecte la table de sessions lors des démarrages suivants du serveur.

Attribuez la valeur true à cette propriété personnalisée pour la persistance des sessions. La propriété customSchema n'a pas la valeur par défaut dans le pilote JDBC DB2.

La valeur par défaut est false.


Icône indiquant le type de rubrique Rubrique de référence



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rprs_custom_properties
Nom du fichier : rprs_custom_properties.html