Comment vérifier session existante est invalidé ou pas?
Comment puis-je vérifier la session existante est invalidé ou pas?
Dans la suite de loginBean code, je l'ai vérifié à chaque connexion de l'utilisateur déjà loggedin ou pas.
Si déjà loggedin par d'autres système, désactiver cette session et la création de nouveaux. si cette session a été invalidé par le temps, la prochaine fois userSessionMap contenir usedname et d'erreur pour l'invalider. alors comment vérifier qu'il est invalidé?
Map appMap = FacesContext.getCurrentInstance().getExternalContext().getApplicationMap();
Map<String, HttpSession> userSessionMap = (Map<String, HttpSession>) appMap.get("USERS");
if (userSessionMap.containsKey(getUsername())) {
log.info(getUsername() + " already loggedin. Closing existing sesssion");
HttpSession sess = userSessionMap.get(getUsername());
sess.invalidate();
}
- Si vous n'avez pas de demande, ce qui n' "session" signifie pour vous? Tu parles d'un conteneur de l'application de contexte comme Tomcat? Ou est-ce de la session de quelque chose que vous avez écrit?
Vous devez vous connecter pour publier un commentaire.
Essayer de passer
false
en tant que paramètre à la getSession(boolean) . Cela va donner en retour d'une session, s'il existe, sinon elle renvoienull
.request.getSession(true)
équivalent àrequest.getSession()
?HttpSession session = request.getSession(false);
donneraIllegalStateException
si le la session est déjà invalidé