# JSF - Session Handling Firefox



## y0dA (8. Aug 2007)

Hi!
Nehme an dass jeder der schon mal seine JSF Applikation im Firefox hat laufen lassen dass sich das Session Handling im Firefox anders verhält als im IE.

Mein Problem ist folgendes (Firefox):
User A öffnet Firefox und bekommt Instanz A - danach loggt er sich in meine Applikation ein und arbeitet fröhlich vor sich hin. Danach öffnet User A ein neues Tab des Firefox Browsers und loggt sich mit User B ein. Wenn User A nun mit User B arbeitet stört er somit auch jene Tätigkeiten die er mit User A durchführt.
Das Problem ist dass beim Firefox Browser alle Instanzen diesselbe SessionId besitzen.

Wie geht ihr mit diesem Problem um?
Wie handelt ihr die Security?

Weiters würde mich noch interessieren wie es sein kann dass wenn sich User A ausloggt und sich wieder einloggt (Browser nicht schließt) dass dann bspw. die tree2 Komponenten noch immer im Letztzustand (wie vor dem logout) sind? Wie kann ich beim logout sichergehen dass alles relevante destroyed bzw in initial Zustand gebracht wird?

mfg


----------



## nocturn (1. Jul 2009)

y0dA hat gesagt.:


> Hi!
> Nehme an dass jeder der schon mal seine JSF Applikation im Firefox hat laufen lassen dass sich das Session Handling im Firefox anders verhält als im IE.
> 
> Mein Problem ist folgendes (Firefox):
> ...



Am besten die cookies weglassen und an alle URL-Links die SessionID drankleben (Suchbegriff jsessionid)

Da gibt es aber das Problem das screenshots mglw. die authentifizierung crashen weil hacker einfach die sessionid abtippen.


----------



## JanHH (4. Aug 2009)

Man kann aber kaum dem User sagen "diese Anwendung funktioniert nur OHNE" Cookies. Und eigentlich ist das Verahlten von Firefox auch sinnvoll, z.B. wenn man, was ja nun sehr beliebt ist, Teile der Webanwendung in neuen Tabs öffnen will (was wiederum mit h:commandLink auch gar nicht so gut funktioniert), geht die Session nicht verloren. Mir scheint eher der beschriebene Anwendungsfall ziemlich exotisch zu sein. Warum sollten sich in einem Browser zwei verschiedene User einloggen?

Und wenn es SPEZIALFÄLLE gibt, von denen man weiss, dass es passiert (z.B. bei bekannten Administratoren oder so) reicht es aus, die Cookies zu aktivieren, sofern der Link, mit dem man sich in einem neuen Tab einloggt, keine SessionID enthält. Da wird dann eine neue Session erzeugt.


----------



## maki (4. Aug 2009)

Wie wäre es mit einem Filter, der prüft ob es schon eine Session von diesem User gibt?

Wenn ein User mehrere Logins hat und (gleichzeitig) nutzt, stimmt imho etwas schon nicht.


----------

