2010-07-20 13 views
4

Je suis un peu perplexe avec ce qui devrait déconnecter un utilisateur.Un délai d'attente de session ou un délai d'authentification de formulaire doit-il être déconnecté de l'utilisateur?

Au moment où j'ai un délai d'attente de session fixé à 20 minutes et je pensais qu'une fois la session expire, l'utilisateur devrait être déconnecté.

Je peux ajouter un code qui fera cela sur un session_end.

Je suis tombé sur un timeout d'authentification de formulaire dans un web.config. Actuellement, il est réglé sur 48 heures.

J'ai changé le délai d'authentification à 20 minutes et c'est en train de faire le travail.

Ainsi, une session expirée doit-elle se déconnecter de l'utilisateur ou doit-elle être effectuée par un délai d'authentification de formulaire?

Merci

Edit:

Ce que je fais face à l'heure actuelle, est que des variables de session se mis à 0, ce qui est bien parce que la session a expiré. Mais j'aurais pensé que l'utilisateur sera déconnecté aussi.

Ai-je raison de dire que les données d'authentification sont toujours stockées dans les cookies et que le cookie ne sera effacé que lorsque j'aurai atteint le délai d'authentification du formulaire?

Par conséquent, ce que je fais face est un comportement attendu. La session des pertes de l'utilisateur, mais il est encore connecté car les informations d'authentification sont stockées dans le cookie.

Dans ce cas, je peux définir le délai d'expiration de la session comme étant exactement le même que le délai d'authentification du formulaire. Hypothèse ici est que le délai d'authentification formulaire est actualisé lorsque l'utilisateur fait quoi que ce soit sur le site Web.

Une autre alternative consiste à ajouter du code dans la méthode sesseion_end dans laquelle je vais déconnecter l'utilisateur.

Edit 2:

Est-ce un délai d'attente d'authentification se rafraîchit en même temps comme un temps de session sur?

Edit 3:

suis tombé sur cette "expiration Sliding remet un temps de cookie d'authentification actif à expiration à chaque demande au cours d'une seule session." que je crois est ce que j'essaie d'atteindre. Si la session et le délai d'expiration d'authentification sont identiques au délai d'authentification, ils seront réinitialisés chaque fois qu'un délai d'attente de session est réinitialisé et que cela devrait faire l'affaire. Tout commentaire est le bienvenu ...

+0

Similaire à http://stackoverflow.com/questions/1470777/forms-authentication-timeout-vs-session-timeout – Tobiasopdenbrouw

Répondre

1

Je pense que cela dépend de la nature de votre application Web. La plupart des sites Web réguliers (par exemple, StackOverflow) ne consignent pas un utilisateur lorsque la session se termine. Cependant, avec les sites critiques pour la sécurité (c'est-à-dire les banques), l'état de connexion de l'utilisateur dépend de la session, qui est généralement réduite à quelques minutes.Par le son de votre formulaire Web dépend de l'utilisateur connecté et si cela dépend uniquement de la session, vous aurez besoin de ping sur le serveur pour maintenir la session en vie.

À moins que le formulaire ne demande des informations sécurisées/personnelles, je n'imposerai pas de limite de temps à son achèvement. Ce ne serait pas la première fois que je remplissais un formulaire, je me couche et je le finis le matin!

+0

Cela l'efface. Je ne suis pas vraiment intéressé à déconnecter les utilisateurs une fois la session effacée. Les utilisateurs ne devraient pas être autorisés à effectuer certaines actions s'ils n'ont pas de variables de session pour X, Y, Z. Je ne comprends pas non plus pourquoi c'est une mauvaise pratique d'avoir le même délai d'authentification de formulaire en tant que délai d'attente de session? Les recommandatinos que j'ai rencontrés ont dit que le délai d'authentification de formulaire devrait être le double d'une expiration de session. Merci –

+0

S'il vous plaît voir une autre édition –

1

L'authentification par formulaire peut être configurée pour utiliser des cookies pour suivre l'utilisateur. C'est probablement ce qui se passe.

+0

Merci pour votre patience. S'il vous plaît voir la modification. –