2009-12-16 7 views
4

Comment les sites Web enregistrent-ils généralement les utilisateurs et les envoient automatiquement à l'écran de connexion lorsque la session d'un utilisateur expire? Est-ce fait par ajax ou en exécutant des gestionnaires asynchrones? Pouvez-vous me donner un peu d'explication?Comment les sites Web enregistrent-ils généralement les utilisateurs automatiquement à l'expiration de la session?

+0

Qu'est-ce que plate-forme utilisez-vous (IIS, Apache, etc?) – BarrettJ

+0

Vous ne serez pas déconnecté quand même si votre session expire? –

+0

J'utilise IIS comme plateforme – Ben

Répondre

1

Utilisez un cookie ainsi qu'une session. Le cookie doit être activé lorsqu'une session est .

  • Si le cookie est présent mais que la session a disparu, redirigez vers l'écran de connexion
    .
  • S'il n'y a pas de session et aucun cookie ne font rien

(pardonnez-moi si vous ne pouvez pas faire cela parce que je jamais utilisé ASP et de fonder ma réponse sur mes connaissances PHP)

4

Les banques et autres utilisent un timeout côté client via javascript, ou quelque chose de similaire. Vraiment, cependant, le serveur gère la session réelle, donc si vous avez désactivé la logique côté client, cela se comporterait comme si vous essayiez de faire des transactions en étant déconnecté.

0

Si vous utilisez Tomcat, vous pouvez utiliser son mécanisme intégré <security-constraint> dans votre définition web.xml. Tomcat gère tout le timing, l'écran de connexion et les redirections de pages, sans grand effort de votre part, à part les définitions.

Oh, IIS ... rien ne va.

1

Généralement, vous définissez un horodatage d'expiration sur votre cookie d'ID de session. Lorsque le cookie ne parvient pas à être envoyé, le client est déconnecté (aucun ID de session donné).

Cette méthode est souvent combinée avec JavaScript et un autre jeton d'horodatage. Lorsque les temporisateurs commencent à s'épuiser, une notification est envoyée qui permet à l'utilisateur de "rafraîchir" sa session ... essentiellement, en faisant une requête avant l'expiration de l'horodatage de la session.

La demande de "rafraîchissement" pourrait être quelque chose, même quelque chose d'aussi simple qu'une charge d'image.

Questions connexes