Prüfen Sie, ob der Benutzer bereits auf der asp.net-Website angemeldet ist.

Ich entwickle eine Website, auf der der Benutzer sich beim System anmelden muss, um sie verwenden zu können. Die aktuelle Funktionalität ist: Wenn der Benutzer einen Benutzernamen und ein Passwort eingibt, wird in der Datenbank geprüft, ob dieser Benutzer existiert und ob er ein korrektes Passwort eingegeben hat. Erst dann darf sich dieser Benutzer anmelden.

Bisher war es in Ordnung, jetzt möchte der Client der Protokollierungsfunktion eine weitere Funktion hinzufügen, dh der Client möchte nur eine Sitzung für diesen Benutzer einschränken.

ie. Wenn Benutzer1 über einen Browser des PCs angemeldet ist, darf er sich nicht über ein anderes System oder einen anderen Browser desselben PCs anmelden.

Wie mache ich das? Ich hatte vor, dies mithilfe eines Bitfelds in meiner Datenbank zu tun, das festgelegt wird, wenn sich der Benutzer zum ersten Mal anmeldet. Und wenn er versucht, das zweite Mal zu protokollieren, überprüfen Sie dieses Feld und erlauben Sie die Anmeldung nur, wenn das Bitfeld nicht gesetzt ist.

Aber ich denke, es wird Probleme verursachen,

1) Wenn der Benutzer versehentlich die Registerkarte des Browsers schließt und versucht, sich erneut anzumelden, kann er dies nicht, da das Bitfeld im DB @ weiterhin gesetzt is

2) Wann wird das gesetzte Feld gelöscht, wenn Benutzer den Browser versehentlich schließen?

Wenn es keine andere Möglichkeit zur Implementierung gibt, können Sie mich in die richtige Richtung weisen.

Wie von einigen Kollegen erwähnt, gibt es Duplikate zu dieser Frage, aber diese Fragen sind nicht wirklich das, wonach ich suche, dathey are using form based authentication and I am not.

Antworten auf die Frage(10)

Ihre Antwort auf die Frage