IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

intercepter la fermeture de session


Sujet :

ASP.NET

  1. #1
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 34
    Par défaut intercepter la fermeture de session
    Bonjour tt le monde,
    je travaille sur une application en ASP .NET et VB .NET, et je veux insérer l'heure et l'id de l'utilisateur lors de la déconnexion dans une table spécifique.
    Le problème c'est lorsque l'utilisateur se déconnecte d'une manière forcée (il clique sur le bouton de fermeture de navigateur), je veux intercepter cet évènement pour faire l'action d'insertion dans la base
    Merci pour l'aide

  2. #2
    Membre habitué
    Inscrit en
    Juin 2004
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 13
    Par défaut
    Il me semble que cet evenement (la fermeture du navigateur) n'effectue implicitement aucune action vers le serveur.
    De ce fait, tu ne sais pas que le client a fermé son navigateur.

    PAR CONTRE, tu dois avoir un evenement Javascript qui doit te permettre de lancer un bout de code a la fermeture du navigateur (onUnload).

    Tu peux utiliser cet évenement pour appeler une page (via de l'AJAX ou similaire) pour notifier ton serveur que la page est sur le point d'être fermée ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 205
    Par défaut
    Citation Envoyé par napo7 Voir le message
    Il me semble que cet evenement (la fermeture du navigateur) n'effectue implicitement aucune action vers le serveur.
    Il parle de fermeture de session par clic sur "deconnexion", pas de fermeture du navigateur!

    2 possibilites:
    -Tu veux loguer seulement les deconnexion par clic sur un bouton: il suffit de mettre le code dans l'evenement de clic du bouton
    -Tu veux loguer TOUTES les fermetures de session (y compris le timeout):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)
    dans global.asax

    PS: poste plutôt dans la catégorie asp.net pour ce genre de soucis

  4. #4
    Membre habitué
    Inscrit en
    Juin 2004
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 13
    Par défaut
    Citation Envoyé par julien_iz Voir le message
    Il parle de fermeture de session par clic sur "deconnexion", pas de fermeture du navigateur!
    Justement, NON, il parle de la fermeture forcée du navigateur !
    Le problème c'est lorsque l'utilisateur se déconnecte d'une manière forcée (il clique sur le bouton de fermeture de navigateur), je veux intercepter cet évènement pour faire l'action d'insertion dans la base

  5. #5
    Rédacteur
    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Billets dans le blog
    121
    Par défaut
    Justement, NON, il parle de la fermeture forcée du navigateur !
    Oui il parle de fermeture forcer du navigateur.
    Mais la solution de notre amie marche dans les deux cas puisque s'il y'a fermeture brusque du navigateur a un moment données les variables de section vont être détruite apres un certain temps donc suffit juste de jouer sur le sessiontimeout.

    @++
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  6. #6
    Membre habitué
    Inscrit en
    Juin 2004
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 13
    Par défaut
    Cependant, l'heure de fermeture du navigateur ne sera pas égale à l'heure de timeout - la durée du timeout.

    A mon humble avis, le plus précis serait de jouer avec l'evenement onUnload de la page HTML pour tracer la fermeture de la page...

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 205
    Par défaut
    Autant pour moi, j'étais mal réveillé!

    Pour le unload: se déclenche a chaque affichage de page.

    La fermeture du navigateur étant cote client, la seule façon de la catcher est d'utiliser un script client: javascript dans l'idéal.

    Cependant, est-ce vraiment un comportement voulu que la session soit détruite a la fermeture du navigateur? Si c'est le cas, il faudra d'abord mettre en place la mécanique pour cela. Ensuite, il suffit d'utiliser l'évènement session_end comme je l'ai indique plus haut pour faire l'enregistrement de l'heure en base.


    Le problème c'est lorsque l'utilisateur se déconnecte d'une manière forcée (il clique sur le bouton de fermeture de navigateur)
    Par défaut, la session n'est pas détruite a la fermeture du navigateur, donc fermer le navigateur ne deconnecte pas l'utilisateur l

  8. #8
    Membre habitué
    Inscrit en
    Juin 2004
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 13
    Par défaut
    Non, le unload ne s'execute pas a chaque chargement de la page.

    Il s'execute lorsque la page est "déchargée" de la mémoire, donc si tu rafraichis la page, oui ,il est executé, puisque la page est déchargée puis rechargée.

  9. #9
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 34
    Par défaut
    En effet j'ai remarqué que la session ne se détruit pas lors de la fermeture du navigateur donc placer le code dans session_end ne s'exécute pas automatiquement lors de la fermeture

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 205
    Par défaut
    Citation Envoyé par napo7 Voir le message
    Non, le unload ne s'execute pas a chaque chargement de la page.

    Il s'execute lorsque la page est "déchargée" de la mémoire, donc si tu rafraichis la page, oui ,il est executé, puisque la page est déchargée puis rechargée.
    Pour le unload: se déclenche a chaque affichage de page. (affichage = dans le navigateur, et non pas chargement )

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 205
    Par défaut
    En effet j'ai remarqué que la session ne se détruit pas lors de la fermeture du navigateur donc placer le code dans session_end ne s'exécute pas automatiquement lors de la fermeture
    Veux-tu que la session soit fermée a la fermeture du navigateur? Ou juste logue les fermeture de navigateur? Car si l'utilisateur change de site puis ferme le navigateur, tu ne pourras pas logguer, alors qu'il a bien arrêté d'utiliser l'appli.

    Pourquoi veux-tu enregistrer ces infos sinon?

  12. #12
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 34
    Par défaut
    je veux enregistrer les info de l'utilisateur s'il quitte l'application soit en cliquant sur le bouton deconnexion ou en fermant l'application

  13. #13
    Membre habitué
    Inscrit en
    Juin 2004
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 13
    Par défaut
    Citation Envoyé par julien_iz Voir le message
    Pour le unload: se déclenche a chaque affichage de page. (affichage = dans le navigateur, et non pas chargement )
    Euhhh, je dois avoir un problème avec mon navigateur : chez moi, sur firefox, onUnload se déclenche à la fermeture de la page (et non à l'ouverture comme le fait onLoad)

    T'es sur de ce que tu avances ? Tu as testé ?

  14. #14
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 205
    Par défaut
    Citation Envoyé par napo7 Voir le message
    Euhhh, je dois avoir un problème avec mon navigateur : chez moi, sur firefox, onUnload se déclenche à la fermeture de la page (et non à l'ouverture comme le fait onLoad)

    T'es sur de ce que tu avances ? Tu as testé ?
    Je me rend compte que l'on ne parle pas de la même chose: moi d'asp.net (cote serveur), toi du javascript (cote client)

  15. #15
    Membre habitué
    Inscrit en
    Juin 2004
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 13
    Par défaut
    Citation Envoyé par napo7 Voir le message
    ...tu dois avoir un evenement Javascript qui doit te permettre de lancer un bout de code a la fermeture du navigateur (onUnload).
    En effet, visiblement tu n'avais vraiment pas les yeux en face des trous

    Je parlais bien des le début de l'evenement javascript !

Discussions similaires

  1. [Session]Problème de fermeture de session
    Par july dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 16/06/2005, 12h25
  2. Fermeture de session WndProc()
    Par jamesb dans le forum C++Builder
    Réponses: 15
    Dernier message: 10/02/2005, 17h35
  3. Interception de la fermeture de session
    Par xoris dans le forum C++Builder
    Réponses: 8
    Dernier message: 10/12/2004, 19h50
  4. [JSP] session et fermeture de session
    Par monoeilouais dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 14/04/2004, 16h02
  5. Probleme de redirection apres fermeture de session
    Par soufienne dans le forum ASP
    Réponses: 3
    Dernier message: 08/04/2004, 10h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo