richtige vorgehensweise beim logout

Status
Nicht offen für weitere Antworten.

freez

Top Contributor
Hallo,

ich habe überlegt, wie ich ein sauberes Logout in meiner Applikation realisiere.

Ich arbeite mit Tomcat und habe ein paar JSP, eine Bean, die im sessionScope läuft, dazu und aktuell ein Servlet.

wenn ein User auf Logout klickt übergebe ich im request dem Servlet ein Parameter "status", der den Wert "logout" hat. Dies frage ich im Servlet ab und entnehme der session mit removeAttribute() die Bean.

Der User bekommt eine Seite gezeigt, in der er über den erfolgreichen Logout informiert wird und einen Link präsentiert, der ihn auf das Servlet weiterleitet. Der User klickt drauf.

Das Servlet holt sich mit getAttribute() die Bean aus der Session. Ist sie nun NULL (habe sie ja entfernt) bekommt der User die login Seite zu sehen.

Ist das so der richtige weg, wie man ein sauberes Logout macht? Wobei die Session genau genommen an sich ja noch existiert, aber die Bean nur neu instanziiert wird.

Ich habe es mit request.isRequestedSessionIdValid() und session.invalidate() versucht. aber wenn ich invalidate() ausführe, ist beim nächsten ServletAufruf request.isRequestedSessionIdValid() true. Also kann ich das nicht benutzen. Das wäre natürlich eine schönere Lösung gewesen.

Also schöner wäre es, wenn ich die Session sauber als abgeschlossen markieren könnte und beim nächsten Aufruf im selben Browserfenster eine neue Session aufgemacht wird.

Was meint ihr dazu?
 
S

SlaterB

Gast
selbst wenn das gehen würde, dann klappt das vielleicht nicht auf jeden WebServer,
das scheint meiner Erfahrung nach kein allgemein genutztes Feature zu sein und ist ja auch nicht notwendig,
du kannst ja selber die Session aufräumen bei einem Logout,
 
S

SlaterB

Gast
nun, das soll der neuen Session entsprechen die du wolltest,
also keine alten Daten wie User, besuchte Seiten usw.,
sondern ein ganz neuer Besuch,

alles alte entfernen, aufräumen ;)
 

freez

Top Contributor
Axo ... also ist der weg, den ich gehe gar nicht so verkehrt .... bean aus der Session löschen und beim nächsten AUfruf wieder neu erstellen.

Oder ich kann beim logout die bean aus der session löschen ... eine neue erstellen und dort ein Flag setzen, daß ich beim nächsten Aufruf sehe, daß dies ne jungfräuliche bean ist.
 
S

SlaterB

Gast
wenn man das mal bei google eintippt kommen ungefähr Tipps wie du dir das gedacht hast
http://www-128.ibm.com/developerworks/java/library/j-jtp07294.html

ich sage ja nicht, dass das nicht geht/ nicht gut ist,
ich sage nur dass es vielleicht/ anscheinend nicht sicher geht,
und dass es auch anders geht, dass sich die Logik da selber helfen kann und nicht den Server bemühen muss,

bleibt das Problem, dass die Session noch weiter bis zum Timeout geöffnet bleibt (ohne invalidate()),
also besser wäre schon mit ;)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Servlet Servlet das richtige? Allgemeines EE 11
A BlazeDS + JMS + MDB: Das richtige Konzept? Allgemeines EE 4
F Quiz in JSP - Sessionvariable mitzählen (für richtige Antw.) Allgemeines EE 2
T Hibernate die richtige Wahl? Allgemeines EE 2
M mit Hibernate 1:n in view richtige implementieren Allgemeines EE 3
P Allgemeine Vorgehensweise Locking Allgemeines EE 5
S Dynamic Web Project mit Eclipse - Vorgehensweise? Allgemeines EE 2
H File Upload per Formular - prinzipielle Vorgehensweise? Allgemeines EE 2
M JSF und JSP gemischt - Empfohlene Vorgehensweise Allgemeines EE 5
B Die sinnvolle Vorgehensweise Allgemeines EE 8
D Hilfe beim Quartz Scheduler Allgemeines EE 11
D Probleme beim Umstieg auf Jakarta EE Allgemeines EE 5
K Konfiguration beim AppServer Allgemeines EE 4
A JPA Fehler beim JPA-Projekt Allgemeines EE 12
M Servlet Fehler beim Start der Serveranwendung Allgemeines EE 3
B @Startup - FileWatcher - Probleme beim Hochfahren des Servers Allgemeines EE 4
I Erhöhte Sicherheit beim Login Allgemeines EE 1
S MessageDrivenBean Problem beim Zugriff auf Stateful EJB Allgemeines EE 2
S OpenJPA-Exception beim Tomee Allgemeines EE 0
B Problem beim Lesen des Codes... Allgemeines EE 2
R JPA Problem beim Speichern eines Users Allgemeines EE 2
D Jboss löscht Archiv nicht beim Redeployed Allgemeines EE 3
Fu3L Probleme beim Einrichten Allgemeines EE 3
B Cookie beim erstem Zugriff auf Web-App ablegen Allgemeines EE 3
J Fehler beim deployen von seam 2.2.2-Projekt Allgemeines EE 9
B Problem beim einbinden einer CSS in eine JSP Allgemeines EE 8
S Eclipse: Teilmodule beim Testen werden nicht gestartet Allgemeines EE 2
S Embedded JBoss Problem beim Deployment Allgemeines EE 4
H fehler beim deployen von ear file Allgemeines EE 2
G Exception beim versenden einer Mail Allgemeines EE 3
A Tomcat, Exceptions beim redeploy Allgemeines EE 4
H GWT Problem beim Ausführen Allgemeines EE 8
E Performance-Problem beim ersten Request Allgemeines EE 4
MQue URL im Brower beim Starten der Anwendung richtig setzen Allgemeines EE 4
M J2EE beim SCJA Allgemeines EE 4
M JSP: Tomcat: Serverfehler 500 nur beim IE. Allgemeines EE 2
M Absturz beim Einbinden des PostgreSQL-Treibers Allgemeines EE 4
K BatchUpdateException beim schreiben in DB Allgemeines EE 12
M EJB Löschen von DB-Daten beim Deployen verhindern Allgemeines EE 2
M tomcat beim booten mit starten Allgemeines EE 4
G JBoss nutzt beim starten ständig das Root.war Allgemeines EE 12
B Fehlermeldung beim ausführen des Clients // Need Help Allgemeines EE 2
P jar-File aus war-File beim Deploy automatisch entpacken Allgemeines EE 2
M servlet --> jsp - problem beim umstrukturieren Allgemeines EE 5
T Probleme beim Einsatz von J2EE / JBoss Allgemeines EE 4
F Wie Heapsize beim Tomcat erhöhen? Allgemeines EE 3
G suche Hilfe beim TreeView Servlet Allgemeines EE 8
A Problem / Fehler beim Einbinden einer Klasse in ein JSP Allgemeines EE 20
N Wie heisst das was der Client beim Http Server anfragt? Allgemeines EE 6
F Fehlermeldung beim redirect in der JSP Allgemeines EE 4
F Package beim Cookie-setzten über BEAN nicht gefunden Allgemeines EE 4
T Design/Performance-Frage beim servlet (static oder nicht) Allgemeines EE 35
F Fehler beim deployen von jsp und servlet Allgemeines EE 7
M NetBeans 5.5 installiert und schon hängt was beim Deployen Allgemeines EE 5
G Servlet beim Absenden eines Formulars aufrufen Allgemeines EE 11
M Probleme beim Performancetuning des Servlets Allgemeines EE 2
T Änderung des Wertes einer Variable beim Klick auf Link Allgemeines EE 7
K [Sun AppServer 8.1] Fehler beim deployen Allgemeines EE 12
FsMarine Probleme beim ausführen von JSP dateien unter Tomcat Allgemeines EE 4
M Probleme beim Webservice Deployment(Sun ApplicationServer) Allgemeines EE 2
B Problem beim Deployen auf Sun AS 8.1 Allgemeines EE 12
R Problem beim hochladen einer Web Application Allgemeines EE 16
H Problem beim Umstieg von 1.3 auf 1.4 Allgemeines EE 5

Ähnliche Java Themen

Neue Themen


Oben