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

JavaScript Discussion :

comment savoir si une session d'un utilisateur est active ?


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    12
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2010
    Messages : 12
    Points : 13
    Points
    13
    Par défaut comment savoir si une session d'un utilisateur est active ?
    bonjour !
    j'ai développe une application web en asp.net avec ExtJs 4. pouvez-vous m'aider
    à savoir comment je pourrai savoir ou détecter pour une session d'un utilisateur s'elle est active ou fermée ?
    ou bien comment savoir quand l'utilisateur devient inactif ?
    j'espère bien me faire comprendre, veuillez m'aider svp à résoudre ce problème !

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Pourrais-tu expliquer quel peut être le rapport entre une session et JavaScript ?
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre à l'essai
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    12
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2010
    Messages : 12
    Points : 13
    Points
    13
    Par défaut
    Au fait, je cherche à répertorier tous les états des utilisateurs de l'application pour pouvoir supprimer ceux-là qui sont inactifs.
    En suite pour un état inactif désactivez la session et le rediriger vers une page pour se reconnecter. Sur ce, je ne veux pas utiliser le timeout de la session.

    je ne sais pas vraiment comment m'y prendre!

  4. #4
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    Déjà il faudrais savoir ce que u veux faire
    car un code s'éxécutant sur un poste d'un client ne peux pas savoir quel est l'état des autres utilisateurs sur le serveur

    ensuit s'il s'agit pour un client de savoir s'il est lui-même connecté c'est un peu tordu comme question car soit il c'est connecté et il est sur une page autorisé
    soit il n'est pas connecté et il n'a pas pu y aller
    du coup je ne vois pas pourquoi il devrait tester je ne sais quoi pour se redirigier vers je ne sais où

    enfin c'est quoi avoir une session ouverte ?

    si tu utilise l'autentification HTTP
    lorsque le client envoi une requête au serveur l'entete HTTP contient les information de la session HTTP le serveur sais que le user est déjà conun et lui sert l'url demandé.

    ça n'a rien à voir avec une sessions ouverte dans un serveur applicatif ce juste le serveur HTTPd qui sait qui est le client.

    si tu utilise un serveur applicatif java C++ PHP ASP etc. il peut mettre en place son propre système de session cette session applicative est gérée par le serveur d'application. c'est lui seul qui y a accès et qui défini la stratégie d'ouverture et de fermeture.

    la page ouverte dans le navigateur n'a accès il à la session HTTP ouverte par le serveur HTTPd ni à la session applicative géré par les sereur applicatif.

    c'est donc au serveur applicatif de faire le necessaire.

    par exemple lorsque le client demande une url le serveur applicatif peut à sa propre initiative ajouter une info dans la page servie ou un cookie ou un header HTTP pour informer la page de la présence d'informations de sessions. c'est le serveur applicatif qui décide des informations transmise au client informations de sessions comprise.

    s'il ne fourni aucune information de sessions le client ne peut pas savoir qu'une session est ouverte.

    si le serveur applicatif fourni une information de session par exemple le nom de l'utilisateur connecté, la page n'a pas besoin de tester quoi que ce soit pour savoir si elle est connecté puisque elle possède l'information comme quoi elle est connecté
    et si le serveur ne lui donne pas cette information elle ne peu pas savoir si une session est ouverte vu qu'elle n'a aucun information.

    ça n'a donc aucun sens que de chercher un mécanisme côté client pour savoir ce qu'il se passe coté serveur
    c'est au serveur d'informer le client


    quant à chercher tout les client inactif seul le serveur peut savoir quel sont les client qui sont venus donc il est le seul à pouvoir ouvrir ou fermer des sessions.
    mais il ne peut pas redirigé le client vu que la demande d'url se fait à l'initiative du client.

    tu peux tout de même faire des choses.
    côté serveur tu peux garder les sessions des utilisateur en mettant dedans une date de dernère activité.
    tu peux ensuite toujours côté serveur faire une url qui retourne true ou false suivant que la sessions de l'utilisateur à passé le délai d'inactivité.
    ensuite dans toutes tes page html tu peux ajouter une fonction qui est appellée de façon périodique (toutes les x minutes) et qui fait un appel ajax sur l'url de test d'inactivité. à la réponse de cette fonction si c'est false tu peut faire une redirection vers une page d'accueil.

    il faut être concient que la session c'est une affaire de serveur et qu'il ne faut surtout pas pour des raisons de sécurité la transmettre au client. elle doit rester l'exclusivité du serveur.

    A+JYT

Discussions similaires

  1. Réponses: 0
    Dernier message: 26/05/2010, 15h23
  2. Réponses: 5
    Dernier message: 10/04/2008, 10h37
  3. Comment savoir qu'une session a demarré
    Par toure32 dans le forum Struts 1
    Réponses: 1
    Dernier message: 05/12/2007, 17h49
  4. Comment savoir qu'une session est valide?
    Par clairette dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 21/02/2007, 19h57
  5. [VBA EXCEL]: Savoir si une mise en forme conditionnelle est active
    Par ADONET dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/01/2007, 14h59

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