Hallo,
Ich lege den Benutzernamen eines Users in einer Session ab:
"HttpSession sitzung = request.getSession(true);"
Soweit klar.
Jetzt gibt es Seiten, auf die immer nur ein User soll.
Wie, immer nur ein User?
Darf diese Seite nur von einem bestimmten Benutzer gesehen werden?
Oder meinst du wirklich, daß immer nur ein Benutzer auf der Seite
sein darf? Z.B. in einem Admin-Bereich, bei dem es bei gleichzeitiger
Nutzung durch mehrere Personen zu Problemen kommen könnte?
Ich nehme an, die meinst den 2. Fall.
Hier wird es schwierig. Zwei Möglichkeiten:
- Du baust die Seite so um, daß es keine Probleme gibt, wenn sich mehrere
Personen gleichzeitig im selben Bereich aufhalten. - Du erlaubst den Zugriff nur über ein spezielles Login. Sobald eine
Person eingeloggt ist, schlägt der Login-Versuch einer zweiten Person
fehl. Erst wenn sich die erste Person explizit ausgeloggt hat (Logout-
Button), wird der Zugriff für eine andere Person gewährt.
Probleme:
- Die 2. Person weiß nicht, wann die 1. Person Logout gedrückt hat, und
wird daher permanent probieren müssen, ob das Login wieder erlaubt ist. - Falls der Browser von Person 1 abstürzt, während diese eingeloggt
ist, ist ein weiteres Login erst nach dem Ablauf der eingestellten
Session-Zeit wieder möglich. Gleiches passiert, wenn Person 1 sich
versehentlich nicht ausloggt. Durch eine entsprechend kurze Session-
Verfallszeit (<5 Minuten) kann dieses Problem zumindest entschärft
werden.
Falls ich deine Frage falsch verstanden habe, solltest du sie
erheblich präziser stellen.
Gruß
Slyh