Webapplikation; Session zerstören in neuem Fenster

Hallo,

zuallererst mal die gegebenen Voraussetzungen:
Webapplikation, realisiert mit Java Struts und JSPs, und Hibernate als Datenbankanbindung
Tomcat als Webserver (SSL)

Also, ich hoffe ich kann mich hier richtig ausdrücken :wink:
Bei der Webanwendung muss ein User sich einloggen, um damit zu arbeiten; er bekommt eine Sessionid und kann Daten bearbeiten/anlegen usw.

Bisher geht es, dass der user bei einem Link über die rechte Maustaste und „Im neuen Fenster/Tab öffnen“ den Link im neuen Fenster öffnet und mit denselben Anmeldedaten und der SessionId weiterarbeitet. Das soll aber vermieden werden.
Gewünscht ist, dass der User in dem neuen Fenster darauf hingewiesen wird, dass er die Anwendung verlassen hat und sich, um in diesem Fenster weiterzuarbeiten, neu einloggen muss. Die Anwendung sollte aber im alten Fenster genauso bestehen bleiben, wie sie war.

Wie kann man das machen? Über Javascript? Ich habe die anwendung nur zu einem kleinen teil mitentwickelt und kenn mich in Struts und JSPs nicht so gut aus, also habt Verständnis für mich…

Für einen Wink in die richtige Richtung wär ich Dankbar… vielleicht hat ja jemand auch ne Lösung für mein Problem…

Grüsse
Katya

Hallo,

Bisher geht es, dass der user bei einem Link über die rechte
Maustaste und „Im neuen Fenster/Tab öffnen“ den Link im neuen
Fenster öffnet und mit denselben Anmeldedaten und der
SessionId weiterarbeitet. Das soll aber vermieden werden.

Eigentlich ist der Session Tracking Cookie (JSESSIONID) fuer
eine Browserinstanz eindeutig, will sagen die Session ist an
die Instanz gebunden und nicht an ein spezielles Fenster.

Dazu ein Auszug aus der Servlet Spec:

Due to the fact that cookies or SSL certificates are typically
controlled by the web browser process and are not associated
with any particular window of the browser, requests from all
windows of a client application to a servlet container might
be part of the same session. For maximum portability, the
Developer should always assume that all windows of a client
are participating in the same session.

http://jcp.org/aboutJava/communityprocess/final/jsr1…

Offengestanden macht es fuer mich auch wenig Sinn, sich innerhalb
einer Instanz mehrmals in eine Applikation einzuloggen.

Gruss
Patrick

Eigentlich ist der Session Tracking Cookie (JSESSIONID) fuer
eine Browserinstanz eindeutig, will sagen die Session ist an
die Instanz gebunden und nicht an ein spezielles Fenster.

Das ist auch so. Loggt man sich ein, kriegt man eine neue Sessionid, die solange hält, bis man sich wieder ausloggt, ob man das Fenster wechselt oder nicht.

Offengestanden macht es fuer mich auch wenig Sinn, sich
innerhalb
einer Instanz mehrmals in eine Applikation einzuloggen.

„Sinn“ macht es keinen, da stimme ich dir voll und ganz zu. Aber es besteht halt die Möglichkeit, und wir wollen evtl. Fehlerquellen vermeiden, falls da doch einer auf diese recht sinnfreie Idee kommt…
Und wenn das an sich überhaupt nicht möglich ist, wär das ja schon super.

Gruss
Patrick

Grüsse
Katya