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 :

Interdire les connexions simultanées


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 33
    Par défaut Interdire les connexions simultanées
    Bonjour,

    Dans une application asp.net 3.5 on souhaite interdire les connexions simultanées, c'est à dire que 2 utilisateurs ne pourront pas se connecter au même temps avec le même login avec un message du genre "Un utilisateur est déjà connecté avec ce compte ...".

    Nous utilisons une session en mode SQLServer.

    Je cherche des pistes pour implémenter cette contrainte

    Merci

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 57
    Par défaut
    Tu rajoute un champ 'is_connected' dans ta BDD et quand un utilisateur se connecte tu la passe a '1', si il essaye de se connecte et que le 'is_connected' est a 1 tu l'empêche de se connecter.

    La tu va me dire 'oui mais si mon utilisateur se déconnecte pas en utilisant le bouton' machin, faut que tu rajoute a la limite l'heure de connexion et tu permet la connexion si 'heure_courante' - 'heure_connection' > 1.

    Sinon je crois qu'il ya moyen de config ton sql pour permettre la remise automatique de ton 'is_connected' a 0 au bout d'un certains temps.

  3. #3
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 33
    Par défaut
    Citation Envoyé par samzorINCA Voir le message
    La tu va me dire 'oui mais si mon utilisateur se déconnecte pas en utilisant le bouton' machin, faut que tu rajoute a la limite l'heure de connexion et tu permet la connexion si 'heure_courante' - 'heure_connection' > 1.
    Tu es un bon devin

    J'y avait pensé mais l'inconvénient de cette solution est que la date de dernière activité n'est pas prise en compte, l'utilisateur peut bien être en train d'utiliser le site pendant un moment et être considéré comme déconnecté

  4. #4
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Citation Envoyé par mooosh Voir le message
    Tu es un bon devin

    J'y avait pensé mais l'inconvénient de cette solution est que la date de dernière activité n'est pas prise en compte, l'utilisateur peut bien être en train d'utiliser le site pendant un moment et être considéré comme déconnecté

    Il suffit de mettre à jour ton indicateur dans l'évenement de fermeture de session.

    Et accessoirement, il n'est pas utile de stocke cette info en base, il suffit de garder une collection en mémoire.

    Quand un utilisateur se connecte tu rajoute son login à la connection, et sur la déconnexion, tu le vire de la collection.

  5. #5
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 33
    Par défaut
    Citation Envoyé par Bluedeep Voir le message
    Il suffit de mettre à jour ton indicateur dans l'évenement de fermeture de session.

    Et accessoirement, il n'est pas utile de stocke cette info en base, il suffit de garder une collection en mémoire.

    Quand un utilisateur se connecte tu rajoute son login à la connection, et sur la déconnexion, tu le vire de la collection.
    Oui mais ce n'est pas évident de bien gérer la fermeture de session (la déconnexion hors du bouton machin )

    En plus pour l'évènement si tu parle du session_end du global.asax il ne se déclenche pas si on a une sessionState en mode SQLSever

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 57
    Par défaut
    Sinon a chaque requête du connecté dans ton global.asax tu remet ton heure_de_connection à jour.

    Comme ca si le mec à pas fait une requête au bout de 20min par exemple tu peut considérer qu'il est dead et repasser son is_connected à 0.

  7. #7
    Membre averti
    Inscrit en
    Août 2010
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 14
    Par défaut
    Salut,
    si tu ne veux pas gérer tout ça dans ta base de données, alors utilise le application state. tu pourras créer une variable tableau par exemple et stocker tous les utilisateurs qui se connectent à l'intérieur. et quand un user se déconnecte, l'enlever simplement.

    j'espère que ça t'aidera

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 57
    Par défaut
    Citation Envoyé par steware1 Voir le message
    Salut,
    si tu ne veux pas gérer tout ça dans ta base de données, alors utilise le application state. tu pourras créer une variable tableau par exemple et stocker tous les utilisateurs qui se connectent à l'intérieur. et quand un user se déconnecte, l'enlever simplement.

    j'espère que ça t'aidera
    Pas valable si l'utilisateur ne clique pas sur 'se déconnecter' si il fermùe son navigateur alors c'est dead pour toi.

    Mais je pense que la solution se trouve dans le global.asax

    Voir: http://dotnet.developpez.com/faq/asp...tessimultanees ca pourrait t'aider je pense

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PHP 5.2] Nombre de connexions simultanées avec les mêmes identifiants
    Par Invité dans le forum Langage
    Réponses: 3
    Dernier message: 20/02/2012, 14h39
  2. Interdire les connexions à partir de certains domaines
    Par frakosun dans le forum Sécurité
    Réponses: 6
    Dernier message: 12/11/2008, 10h47
  3. interdire les connexions non securisée(https)
    Par leo13 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 21/09/2007, 09h50
  4. Réponses: 12
    Dernier message: 21/12/2006, 11h49
  5. tracer les connexions web sur un serveur
    Par lutin511 dans le forum Développement
    Réponses: 2
    Dernier message: 28/06/2004, 23h36

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