2016-12-07 1 views
0

Mon application Web développée sur Vaadin - Servlet à l'aide du serveur Tomcat.Notification de délai d'expiration de session

Lorsque l'utilisateur clique sur le lien de déconnexion, une erreur de délai de session arrive, puis après un certain temps, il redirige automatiquement vers la page de connexion.

Auparavant, la redirection était si rapide que l'utilisateur n'a pas pu voir cette erreur de dépassement de délai. Mais maintenant, après une mise à jour de la version dans Vaadin, l'utilisateur peut voir cette erreur.

Suggérer un moyen de résoudre ce problème. Je pense trouver un moyen d'empêcher le navigateur d'afficher le message d'erreur de session-timeout, lorsque la session est expirée en utilisant le bouton de déconnexion.

Comment y parvenir. Ou y a-t-il une meilleure solution que vous pouvez suggérer?

Merci d'avance.

Répondre

0

Avant d'invalider la session, désactivez le mode Push.

Page.getCurrent(). SetLocation (emplacement);

UI.getCurrent(). GetPushConfiguration(). SetPushMode (PushMode.DISABLED);

session.getSession(). Invalidate();

Cela fonctionnera bien. Le problème vient du fait que le support de Push n'est pas complètement implémenté par tous les serveurs. Donc, sur certains serveurs, ce problème ne peut pas survenir. Avec la logique ci-dessus, vous pouvez également définir Transport.LONG_POLLING qui fonctionne bien pour tous les serveurs.