Mehrfach-Login verhindern

05/02/2008 - 12:23 von Calle Manthey | Report spam
Hi,

ich suche eine Möglichkeit bei einer ASP.NET-App mit FormAuthentifizierung
das _mehrfache_ Login unter einem Usernamen/Passwort zu verhindern.

Alle meine Versuche haben den Nachteil, dass wenn das Programm kracht, der
rechtmàßig Eingelogte, sich erst nach dem SessionTimeOut wieder einloggen
kann.

Oder aber - noch schlimmer - der User verlàßt das Programm OHNE explizites
Logout,
hat was vergessen und will sich wieder einloggen. Das geht dann erst nach
dem TimeOut.

Bitte Hinweise wie man das machen kann.

Danke

Calle Manthey
 

Lesen sie die antworten

#1 Stefan Falz [MVP]
05/02/2008 - 13:00 | Warnen spam
Hallo Calle,

"Calle Manthey" schrieb

ich suche eine Möglichkeit bei einer ASP.NET-App mit FormAuthentifizierung
das _mehrfache_ Login unter einem Usernamen/Passwort zu verhindern.



Vorab die Frage: Intranet- oder Internetanwendung? Ok, besser gefragt: Hast
Du eine geschlossene Benutzergruppe oder kann sich hier "jeder" anmelden?

Oder aber - noch schlimmer - der User verlàßt das Programm OHNE explizites Logout,
hat was vergessen und will sich wieder einloggen. Das geht dann erst nach dem TimeOut.



Du _könntest_ das Login _zusàtzlich_ an die IP binden. Wenn also ein Login
von einem bereits angemeldeten Benutzer kommt und die IP identisch zu der
vorher gemerkten ist, làsst Du das Login durch, anderenfalls nicht. Da man
IP Adressen aber eh immer nur mit Vorsicht zur Identifikation verwenden
kann/sollte, klappt das natürlich auch nicht immer (Proxies, mehrere User
gleiche IP, dynamische IPs, ein User, mehrere IPs [jeweils nach Neueinwahl]).

Wenn Du einen bekannten Benutzerkreis hast und du die dazu bringen kannst
Javascript zuzulassen kannst Du evtl. auch einfach ein kleines Skript einbauen,
mit dem bspw. alle 30 Minuten ein "KeepAlive" sendest. Hier wird einfach ein
Bild (oder was auch immer) immer wieder vom Server abgerufen und damit die
Session am Leben erhalten. Wenn die entsprechende Resource nicht mehr abgerufen
wird, ist das Login halt nicht mehr gültig (Entweder prüft man das periodisch
oder halt beim nàchsten Login). Ich seh das aber (abgesehen von Denkfehlern,
die ich da grad drin haben könnte [zuwenig Kaffee]) kritisch, weils den User
beim Login behindert, wenn irgendwas mal nicht so làuft wie erwartet.

Tschau, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

Ähnliche fragen