12
votes

Comment définir le délai de session de plus de 30 minutes

Dose de quelqu'un sache comment définir le délai de session plus de 30 minutes? Ces deux méthodes ne fonctionnent pas (par défaut à 30 min). XXX PRE>

et P>

session.setMaxInactiveInterval(600); 


3 commentaires

Quel serveur d'applications utilisez-vous? Tomcat, JBoss, etc.?


J'utilise Tomcat et je veux aussi savoir comment le faire pour Glassfish


Un temps négatif indique que la session ne devrait jamais délirer. Tomcat.apache.org/ tomcat-5.5-doc / servlePi / javax / servlet / ht tp / ...


5 Réponses :


0
votes

Réglage du délai d'attente dans la web.xml est le moyen correct de définir le délai d'attente.


4 commentaires

Oui, je sais que, mais cela ne me permettra pas de définir le délai de session plus de 30 minutes.


Que voulez-vous dire "ça ne te laissera pas" Est-ce que ça jette et exception? Empêcher le serveur de commencer? Apparaître une boîte de dialogue d'erreur? Ou il suffit de ne pas honorer le délai fixé? Réglage du délai d'attente dans le descripteur de déploiement peut vous demander de redémarrer l'application Web et / ou du serveur de la nouvelle valeur à prendre effet. Je ne vois pas ce qui ferait appel à SetMaxinActiveInterval à une session ... peut-être quelque chose d'autre se fixe SetMaxinActiveInterval ou invalidant la session?


@Rocky - Même question que Nate. Que voulez-vous dire par "ne me laisserez pas"?


web.xml / session-config / session-timeout est juste l'heure maximale d'inactivité d'une session. Si la session est inactive pendant plus longtemps, le conteneur de servlet jettera tous les éléments de données associés à la session. Ainsi, si vous atteignez la session au moyen d'un cookie et que le cookie a une durée de vie plus courte, la session est passée d'un point de vue de l'utilisateur tout en vivant du point de vue des conteneurs.



0
votes

Si vous êtes autorisé à le faire dans le monde entier, vous pouvez définir le délai de session dans

tomcat_home / conf / conf / web.xml comme ci-dessous xxx


1 commentaires

Je pense que cela définit la valeur par défaut des applications Web qui ne fournissent pas de valeur - la définition d'une valeur par défaut pour une application Web spécifique dans son descripteur de déploiement ou un appelant SetMaxinActiveInterval sur une session spécifique devrait remplacer cela.



12
votes

Définition du délai d'attente de session via le descripteur de déploiement doit fonctionner - il définit le délai d'expiration de la session par défaut pour l'application Web. Calling Session.setMaxIncActiveInterval () Définit le délai d'attente de la session particulière qu'elle est appelée et remplace la valeur par défaut. Soyez au courant de la différence de l'unité, la version du descripteur de déploiement utilise des minutes et Session.setMaxinActiveInterval () utilise des secondes.

SO P>

session.setMaxInactiveInterval(600);


1 commentaires

Il reste vraiment mystérieux pourquoi les concepteurs-cadres refusent de comprendre le bénéfice de l'utilisation des unités. Un bon cadre pour travailler avec des unités est UCum ( UnitésOfmeasure.org ).



2
votes

Ceci définira votre session pour tout garder jusqu'à ce que le navigateur soit fermé xxx

et cela devrait la définir pendant 1 jour

session.setmaxinActiveInterval (60 * 60 * 24);


0 commentaires

9
votes

Si vous souhaitez ne jamais expirer une session utilise 0 ou valeur négative -1 . xxx

ou mention 1440 indique 1440 minutes [ 24hours * 60 minutes ] xxx

sera expirera après 24hours .


0 commentaires