2017-09-18 5 views
0

Une webapp que nous supportons est écrite en JAVA à l'aide de SpringMVC. Nous avons une exigence existante que notre application expire après 60 minutes d'inactivité de l'utilisateur. Pour cela, nous avons une entrée session-timeout dans les applications web.xml fichier; jusqu'à maintenant, cela a très bien fonctionné.Comment autoriser certaines requêtes à ignorer le délai d'attente de session dans web.xml

Le problème est que nous avons maintenant un nouveau composant GUI qui doit appeler à domicile à intervalles réguliers (60 secondes). Cela fonctionne essentiellement comme un keep-alive :( En raison des versions du navigateur que nous devons prendre en charge, nous ne pouvons pas utiliser les websockets, donc nous ne faisons qu'interroger à intervalles réguliers (Je ne sais pas si cela est pertinent).

est-il un moyen de configurer notre webapp d'omettre des demandes spécifiques de déclenchement de la session-timeout .

Répondre

0

Vous pouvez session.setMaxInactiveInterval. Cela devrait passer outre le délai d'attente par défaut.

+0

le problème est que nous avons encore besoin de la session pour expirer après 60 minutes, nous ne voulons pas spécifi c appels automatiques intermittents pour déclencher un keep-alive. Fondamentalement, nos utilisateurs laissent leurs navigateurs Web ouverts quand ils font quelque chose d'autre. Si elles n'interagissent pas avec l'application pendant 60 minutes, il les expire. Mais ces appels REST spécifiques sont automatiquement exécutés toutes les 60 secondes (ou plus) et ces appels ne peuvent pas maintenir la session en vie. – MattWeiler

+0

Oooh. J'ai compris. Je ne connais aucune configuration en main, mais vous pouvez calculer manuellement et définir l'intervalle d'inactivité maximum pour les demandes que vous ne voulez pas réinitialiser le délai d'attente de session. Par exemple, 'session.setMaxInactiveInterval (60 minutes - (heure actuelle - dernier temps d'accès))'. Avoir du sens? Vous pourriez implémenter ceci dans un filtre. Checkout cette [question] (https://stackoverflow.com/questions/19191668/control-whest-session-timestamp-is-updated). Cela semble lié à ce que vous demandez. –

+0

L'itinéraire que je pense que nous devrons aller est de faire seulement ces appels automatiques quand il y a une activité de l'utilisateur dans l'interface graphique. – MattWeiler