Maison > Java > javaDidacticiel > Comment définir le délai d'expiration de la session dans SpringBoot Session

Comment définir le délai d'expiration de la session dans SpringBoot Session

WBOY
Libérer: 2023-05-15 14:37:06
avant
2323 Les gens l'ont consulté

Découverte du problème

Problème de délai d'expiration de session de production du projet Springboot, décrivez le problème :

Configurez la sortie de session en modifiant application.yaml dans l'environnement de test et vérifiez que la configuration de sortie de session prend effet après avoir défini des heures différentes, donc l'expiration est directement définie. Il a été publié dans l'environnement de production en 8 heures. Cependant, j'ai reçu à midi des commentaires de clients indiquant que le délai d'expiration du projet était court. Si aucune opération n'est effectuée pendant une demi-heure, la session expirera et nécessitera une connexion répétée.

Solution

Environnement de développement : le projet Springboot intègre Tomcat, donc la configuration de sortie de session dans application.yaml dans le projet est efficace.

Environnement de production : la version de l'environnement de production consiste à créer l'image via Docker via des services cloud (Docker+K8s). Cependant, la sortie de session dans le web.xml de l'image de base tomacat est définie sur 30 minutes.

Solution : Enfin, lorsque Docker crée l'image, placez le web.xml modifié dans le DockerFile, écrasez le web.xml d'origine de l'image de base, reconstruisez l'image et remplacez avec succès le web.xml de l'image de base d'origine, et le problème est enfin résolu.

Invalidation de la session : une session est créée à partir du moment où l'utilisateur se connecte. Lorsque l'utilisateur arrête de fonctionner pendant une durée supérieure au délai de sortie de session, la session expire.

1. Définissez

[html] view plain copy<!-- 时间单位为分钟   -->  <session-config>
      <session-timeout>15</session-timeout></session-config>
Copier après la connexion
dans le site Web
[html] view plain copy  <!-- ==================== Default Session Configuration ================= -->  
  <!-- You can set the default session timeout (in minutes) for all newly   -->  
  <!-- created sessions by modifying the value below.    -->  
	<session-config>  
        <session-timeout>30</session-timeout>  
	</session-config>
Copier après la connexion

5. Copiez web.xml dans DockerFile

session.setMaxInactiveInterval(30*60);//以秒为单位
Copier après la connexion
.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal