J'applique une application web qui utilise des sessions. J'utilise GWT et le moteur d'application comme client/serveur, mais je ne pense pas qu'ils fassent quelque chose de vraiment différent de ce que je ferais avec PHP et Apache.Combien de temps gardez-vous les cookies de session?
Lorsqu'un utilisateur se connecte à mon application Web, J'utilise HttpSession pour démarrer une session pour eux. Je reçois l'identifiant de session comme ceci:
// From my login servlet:
getThreadLocalRequest().getSession(false).getId();
Je reviens le sessionId au client, et ils le stocker dans un cookie. Le tutoriel j'utilise des jeux ce cookie à «expire dans deux semaines:
Cookie.write("sid", theSessionId, 1000 * 60 * 60 * 24 * 14); // two weeks
Voici où je suis confus: si le cookie expire dans deux semaines, puis mon utilisateur longera en utilisant la webapp heureusement, seulement pour un jour naviguer sur mon site et afficher un écran de connexion. Quelles sont mes options? Puis-je simplement ne pas définir de délai d'expiration pour ce cookie? De cette façon, l'utilisateur devrait se déconnecter explicitement, sinon il pourrait simplement utiliser l'application pour toujours sans avoir à se reconnecter.
Ou est-il une meilleure façon de le faire? Je ne me souviens pas de sites comme Twitter m'ayant jamais demandé de me reconnecter. Il semble que je sois connecté en permanence. Est-ce qu'ils ne définissent aucune date d'expiration?
La webapp ne protège aucune sorte de données hautement sensibles, donc cela ne me dérange pas de laisser un cookie qui n'expire pas, mais il semble qu'il doit y avoir un meilleur moyen?
C'est le tutoriel, je fais référence:
http://code.google.com/p/google-web-toolkit-incubator/wiki/LoginSecurityFAQ
Merci
En règle générale, un grand nombre d'applications Web que j'ai vu vous permettent de cocher pour "rester connecté", qui soit vous permet de rester connecté indéfiniment, ou Si décoché, déconnectez-vous après la fermeture du navigateur. – Corey