ASP.NET Authentication

PSIMON78 Messages postés 1 Date d'inscription lundi 17 novembre 2008 Statut Membre Dernière intervention 17 novembre 2008 - 17 nov. 2008 à 16:45
PascalCmoa Messages postés 239 Date d'inscription mercredi 19 février 2003 Statut Membre Dernière intervention 17 janvier 2013 - 17 nov. 2008 à 17:54
Pardon de vous importuner...

J'accède à des pages ASP.NET (framework 3.5) d'une appli. Web via une interface Logon.aspx (Form Authentification). Les couples UserID / pwd sont dans une table d'une base Sql Server. Comment s'assurer que le même UserID n'est pas connecté plusieurs fois en même temps (en utilisant à chaque fois l'URL de l'application Web) ? 

Je peux utiliser un bit associé à chaque UserID et positionné tant que ce UserID est utilisé...mais reste le problème d'une sortie "brutale" de l'application qui laisse le bit positionné.

D'avance merci pour votre aide.

**************************************************************************************
Sorry for the disturbance...

I access the ASP.NET (framework 3.5) pages of a Web application via a Logon.aspx interface (Form Authentication). UserID / psw pairs are in a table in a Sql Server database. How can I prevent the same UserID to simultaneously connect two or three times (simply through the Application's URL)?

Of course, I can set/reset a bit "already in use" for each UserID...But what if the Web application isn't exited in a clean way?

Thanks a lot for your help.

1 réponse

PascalCmoa Messages postés 239 Date d'inscription mercredi 19 février 2003 Statut Membre Dernière intervention 17 janvier 2013 5
17 nov. 2008 à 17:54
Bonjour,

une solution parmi tant d'autre est d'utiliser une table onlineUsers avec comme champs l'id (pk, bigint, not null), la date de connexion (datetime, not null), isOnline (bit, not null), etc .... Quand un utilisateur se connecte (connexion réussie) tu fais un insert dans la table onlineUsers avec son identifiant, la date de la connexion, isOnline = true ... Quand il se déconnecte (déconnection volontaire de l'utilisateur, timout) tu delete la ligne. Ainsi avec cette table tu sauras qui est en ligne et tu pourras controler si l'utilisateur tente une nouvelle connexion. Ce n'est paut être pas la solution la plus optimale, mais elle fonctionne.

A+

PascalCmoa
[mailto:pascal.aknouche@free.fr email: PascalCmoa]
0
Rejoignez-nous