La connexion deux fois est ambigu sur HTTP. Il n'y a pas de signal de "déconnexion" envoyé. Vous pouvez frustrer les gens si vous ne faites pas attention.
Si j'arrête mon navigateur et dépose les cookies - accidentellement - je pourrais être empêché de me reconnecter.
Comment le serveur pouvait-il savoir que c'était moi qui essayait de me reconnecter alors que moi essayais de me connecter deux fois?
Vous pouvez essayer des choses comme vérifier l'adresse IP. Et si la déconnexion accidentelle était mon routeur plante, libérant mon bail DHCP? Maintenant, j'essaie de me reconnecter, mais j'ai une nouvelle adresse et aucun cookie établi. Je n'essaie pas de créer une deuxième session, j'essaie juste de revenir après que ma session actuelle soit déconnectée. En fait, il n'y a pas de règle bien établie pour les "sessions uniques" qui peuvent être installées dans un framework. Vous devez créer une règle appropriée à votre application et déterminer comment l'appliquer.
Je pensais à quelque chose comme ce qui suit: 1-Vérifier django_session pour l'utilisateur actif 2-S'il y en a un: Présenter un avertissement "Il y a un autre utilisateur [bla, bla] si vous voulez continuer l'autre utilisateur être déconnecté " Donc, si l'utilisateur est" légitime ", il ne sera ennuyé qu'une seule fois. – MrM
Je pense que S.Lott a raison: la nature sans état de HTTP rend le concept d'utilisateur connecté assez vague. –
@mFunk: Votre approche pourrait fonctionner pour votre communauté d'utilisateurs. Cependant, il n'y a pas de réponse «standard», «typique» ou «supportée par le cadre». –