solvery Geschrieben 8. Juli 2004 Geschrieben 8. Juli 2004 Hallo, wie man eine Session generell zerstört weiß ich... session.invalidate(); Nur wie kann ich eine Session zerstören, wenn der User über einen Logout-Button/Link die WebApp verläßt? Das Problem besteht ja, dass beim Aufruf der jsp-Datei, die Seite von oben nach unten erstmal vollständig durch den Server interpretiert wird und an den den Client versand wird. Somit würde auch ein Aufruf zum zerstören der Session über Link/Button schon ausgeführt bevor man es überhaupt will bzw. beabsichtigt hat. In PHP wäre dies Problem über isset(); einfach zu lösen, nur in JSP sehe ich da keine Möglichkeit. Soweit ich das auch bisher in anderen Foren einsehen konnte, gibt es da keine Patentlösung für. Hat vielleicht von euch jemand eine Idee, wie man das Problem lösen könnte? Zitieren
kingofbrain Geschrieben 8. Juli 2004 Geschrieben 8. Juli 2004 Servus, ist nur ein Gedanke, vielleicht habe ich Dich aber auch falsch verstanden: Setze die Session doch invalid und redirecte dann auf eine Seite, die nach dem Logout zu sehen sein soll (response.sendRedirect("index"). Peter Zitieren
solvery Geschrieben 8. Juli 2004 Autor Geschrieben 8. Juli 2004 so wie es aussieht, hast Du mich wirklich falsch verstanden. Ich hab in der Session verschiedene Werte gespeichert die ich auch während der Laufzeit benötige. Wenn ich meine Session vorher schon zerstöre, bevor sich der User ausloggt, dann funzt doch das System nicht mehr und der User ist dann sozusagen online aber nicht mehr authentifiziert. Zitieren
kingofbrain Geschrieben 8. Juli 2004 Geschrieben 8. Juli 2004 So ein Mist, jetzt hatte ich mords den Artikel und habe ihn gelöscht. Also noch mal kurz: Wenn der User auf einen Link klickt, dann bearbeitet diesen Request ja ein Servlet. Dieses Servlet darf die Session zerstören, weil der User schliesslich zu diesem Zeitpunkt schon ausgeloggt ist. Peter Zitieren
solvery Geschrieben 9. Juli 2004 Autor Geschrieben 9. Juli 2004 Eigentlich eine interessante Idee... bzw. eine Lösung die machbar ist. Muss mal schauen wie ich das in meinem Logout unterbringe. <a href="" onClick="JavaScript:top.window.close()">Beenden</a> Zitieren
kingofbrain Geschrieben 9. Juli 2004 Geschrieben 9. Juli 2004 Damit schliesst Du das Fenster, aber die Session besteht trotzdem weiter. Peter Zitieren
solvery Geschrieben 9. Juli 2004 Autor Geschrieben 9. Juli 2004 auf die Idee wäre ich jetzt nie gekommen So beende ich auch momentan die Applikation. Ich sagte ja, da muss ich jetzt noch den Aufruf des Logout-Servlets unterbringen. Zitieren
mOSSpOWER Geschrieben 12. Juli 2004 Geschrieben 12. Juli 2004 Hallo, wenn ich, nur wenn, das Problem verstanden habe, dann mach doch ein submit, wenn Benutzer auf Ausgang klickt. (mehr erst mal nicht)Auf dem Server haust Du dann die Session weg und setzt einen Schalterwert in den Request und rufst gleiche Seite wieder auf. Diese dann prüft immer nach dem Laden (BodyTag) in einer Funktion, ob Flag gesetzt ist (Variable lässt sich locker in JSP einbinden), wenn ja, dann machst Du mit JavaScript das Fenster zu. this.close() Ich hoffe, ich konnte Dir helfen Gruß mOSSpOWER Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.