ML: JSP Probleme mit Sessions

JSP:

Ich lege den Benutzernamen eines Users in einer Session ab:
"HttpSession sitzung = request.getSession(true);"

Jetzt gibt es Seiten, auf die immer nur ein User soll.

Wie kann ich das realisieren?

Ich habe mir auch schon überlegt, dass ich den derzeitigen Seitenuser in einer JavaBean mit Scope Application hinterlege.
Problem dabei ist das herauslöschen der Daten aus der Bean beim Verlassen der Seite ...

  1. 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

    1. Du hast mit deiner 2 Einschätzung schon recht ... genau das Problem habe ich gemeint (ich kann es einfach nicht zulassen, das 2 User eine Datenbank gleichzeitig aktualisieren...).
      Gibt es nicht so ne Art Listener, den ich darauf ansetzen kann?