rob: Erneutes laden eines Popups mit erneuten Login

Beitrag lesen

Hi!

Sessions werden serverseitig gespeichert und JavaScript läuft clientseitig.
Richtig, dass weiß ich! Deswegen muss ich irgendwie es schaffen am client die speicherung der sessions zu löschen!

Das funktioniert nicht. Eine Session wird nicht clientseitig gespeichert.
Sie wird auf dem Server gespeichert. Du hast absolut keine Möglichkeit, eine Session clientseitig mit JS ohne sonstwas zu löschen.
Damit man dem Client allerdings eine Session zuordnen kann, muß dieser die Session-ID an den Server weitergeben.
Das geschieht normalerweise über ein Cookie oder durch Übergabe per URL.
Du kannst mit JS aber keine Cookies löschen, die ein anderer Server gesetzt hat.
Die Übergabe der SID per URL kannst du auch nicht wirklich verhindern. Zwar könntest du diese aus der Adresszeile rauslöschen, aber die ID wird in den serverseitig generierten Dokumenten automatisch in die Links eingebaut oder in Formularen per hidden-Feld übergeben.

Durch schließen des Fensters bleibt die session trotzdem erhalten! Nur wenn alle IE Fenster geschlossen werden, kann man sich neu anmelden!

Vielleicht handelt es sich gar nicht um eine Session. Darum fragte ich nach der Art der Authentifizierung.
Vielleicht handelt es sich um einen Login des Servers per htaccess ("HTTP Authentication").
In diesem Fall hätte der Programmierer auch nicht vergessen, einen Logout zu programmieren. Diese Art der Authentifikation bietet keinen Logout.
Die englische Wikipedia erklärt ziemlich gut, wie das funktioniert.
Die Authentifikation wird per HTTP-Header übertragen.
Der HTTP-Authentication-Mechanismus kann nur dann zufriedenstellend funktionieren, wenn der Client die Authentifizierungsdaten nicht bei jedem Request vom User abfragt. Die Daten werden daher für die komplette Browsersitzung gespeichert.
Mit Hilfe von JavaScript kannst du da auch nichts löschen.
Über das Addon "Webdeveloper Toolbar" für den Firefox könntest du dem Browser sagen, daß er dies vergessen soll.
Beim Firefox ist es recht einfach möglich, so eine Funktion zu schreiben.
Allerdings mußt du dazu den Browser selbst mit einem Script erweitern.
Es funktioniert nicht mit einem JavaScript innerhalb eines HTML-Dokumentes.
In jedem Fall wird es dir nicht möglich sein, an dieser Sache irgendeine Änderung vorzunehmen, wenn du keinen direkten Zugriff auf den Server hast.

Schöner Gruß,
rob