Comment puis-je créer une nouvelle session avec une nouvelle connexion de l'Utilisateur sur l'application?
Comment puis-je créer une nouvelle session en JSF 2.0 dès qu'un nouvel Utilisateur se connecte sur l'application?
Eh bien, dès que l'utilisateur accède à l'application, il sera une nouvelle session, à moins que vos cookies sont mis à se souviendra à jamais.
Vous pouvez utiliser apache shiro pour cela et d'autres choses à gérer l'authentification. Vous pouvez afficher un tutoriel fait par Bauke (BalusC): balusc.blogspot.com/2013/01/...
Vous pouvez utiliser apache shiro pour cela et d'autres choses à gérer l'authentification. Vous pouvez afficher un tutoriel fait par Bauke (BalusC): balusc.blogspot.com/2013/01/...
OriginalL'auteur Rajat Gupta | 2011-03-31
Vous devez vous connecter pour publier un commentaire.
Vous n'avez pas besoin d'. Il rend bien conçu webapps a pas de sens. Le servletcontainer le fait déjà la gestion de session. Juste mettre l'utilisateur connecté à la session portée.
L'utilisateur connecté sera disponible
#{user}
dans toutes les pages, tout au long de la même session, et aussi dans@ManagedProperty
d'autres haricots.Sur déconnexion, cependant, il est plus logique d'invalider la session. Ce sera poubelle de toutes les sessions d'étendue de haricots. Vous pouvez utiliser
ExternalContext#invalidateSession()
pour cela.Voir aussi:
sessions (lire: les cookies) ne sont pas partagées entre les ordinateurs. Vous êtes probablement de la confusion avec fixation de session hacks lorsqu'un ID de session a été coulé par un bug/erreur/d'accident. Invalider la session contribue très peu à rien contre. Lorsque l'utilisateur est connecté, il n'y a déjà aucun utilisateur dans la session et rien ne peut être pris en charge 🙂 Invalider la session est cependant une bonne pratique de faire un "nettoyage rapide" de ressources de la mémoire.
Vous êtes à la définition d'un nouvel utilisateur dans la session en cours (sans invalider). Les informations de session est (généralement) détenus dans un cookie dans le navigateur. Copiez l'id de session dans le cookie dans un nouveau navigateur.e.g sur une machine différente, et la session être partagé entre les deux ordinateurs (j'ai testé).
Oui, c'est la fixation de session hack. L'Invalidation n'aide pas contre qui.
...qui serait vaincu par session.invalidate()... 🙂 Le nouvel utilisateur reçoit un nouvel id de session. L'ancien utilisateur d'id de session est invalide, dès que l'utilisateur connecté changements, de sorte qu'il ne peut plus l'utiliser.
OriginalL'auteur BalusC