JSF - Richfaces - Comment savoir si la session est expirée (sur le client)
Je développe une application utilisant JSF - richfaces.
L'application est la norme de la page de connexion, la gestion de session et de la session le délai d'expiration est de 15 min.
L'un de l'exigence de l'est, lors de la session expire, et si l'utilisateur clique sur l'un des liens, j'ai besoin d'afficher un popup(au lieu d'aller à la page de connexion) qui dira "Votre session a expiré, veuillez vous connecter de nouveau".
Si c'est un seul lien que je peux utiliser a4j pour vérifier si la session est expirée ou non.
Mais dans mon cas, j'ai besoin d'afficher la "session" alerte pour chaque lien et bouton.
Les pointeurs vers cela va m'aider à aller de l'avant.
Vous en remercie d'avance.
OriginalL'auteur Kumar D | 2009-08-08
Vous devez vous connecter pour publier un commentaire.
Si le délai d'expiration de session est de 15 minutes, vous pouvez simplement mettre un appel Javascript (à l'aide de
setTimeout
méthode) qui permettra d'afficher une popup. Si l'utilisateur clique sur un lien, l'appel Javascript seront remises à zéro, de sorte que le popup ne s'affiche si l'utilisateur reste la même page pendant au moins 15 minutes.Vous pouvez essayer quelque chose comme ça:
Explications:
Nous envelopper le code Javascript dans un
<a4j:outputPanel>
composant qui a uneajaxRendered
attributtrue
. De cette façon, le Javascript délai sera réinitialisé, même lorsque l'utilisateur clique sur un Ajax lien.Ensuite, nous avons fixé un délai d'attente de 15 minutes (900000 millisecondes à l'époque) jusqu'à ce qu'un modalpanel est affiché.
Je vous suggère de mettre ce code (et la modalPanel aussi) dans un modèle si vous utilisez Facelets. Ce modèle sera ensuite utilisé pour chaque page de votre application...
OriginalL'auteur Romain Linsolas
RichFaces fournit un moyen supplémentaire pour attraper les délais (ViewExpiredException) sur le côté client.
Tout d'abord, ajoutez le code suivant dans votre web.xml:
Enfin, ajouter un peu de javascript sur la page:
OriginalL'auteur
Richfaces peut gérer la fin de la session (et d'autres erreurs) en définissant votre propre JS fonction, qui est exécuté à l'instant, la situation occurance.
Richfaces guide
OriginalL'auteur MarrLiss