JSF Session-Kolision

fsicher

Bekanntes Mitglied
Hallo allerseits

Ich habe in einer Anwendung (realisiert mit JSF) zwei unterschiedliche User-Typen: Admin und DefaultUser. Der zweite hat nur eingeschränkte Rechte und kann nur einige wenige Aktionen durchführen. Die Anwendung funktioniert korrekt, solange man nicht auf die Idee kommt, in einem Browser (getestet mit Firefox und Opera) eine zweite Anmeldung vorzunehmen.

1. Ich melde mich als DefaultUser in Firefox und führe eine Aktion, nach der ich das Hauptmenu aufrufen kann
2. Ich öffne ein zweites Tab und melde mich als Administrator.
3. Ich gehe zurück zum ersten Tab und kehre zum Hauptmenu zurück: anstatt das Hauptmenu für DefaultUser sehe ich das Hauptmenu des Admins.

Wenn die Reihenfolge der Anmeldung anders wäre, würde ich als Admin das Menü des DefaultUsers sehen (weniger als erwartet). Das habe ich auch dann, wenn ich eine neue Browser-Instanz starte (getestet mit Firefox).

Ist das wirklich so, dass der Browser die zwei Sessions nicht unterscheidet (kann mir nicht vorstellen)? Oder, liegt der Hund irgendwo in meinem Code begraben?

ch werwalte eine UserBean mit @SessionScoped und hole mir aus dieser Bean die Information darüber, ob der angemeldete Benutzer der Admin oder DefaultUser ist. Eine UserBean mit @SessionScoped dürfte (müsste) pro Session eindeutig sein. Oder, sehe ich da etwas falsch?

Danke.
 
Ist das wirklich so, dass der Browser die zwei Sessions nicht unterscheidet (kann mir nicht vorstellen)?
Ja, das ist wirklich so (auch so gemeint, kein Fehler).
Cookies (und damit Sessions) gelten pro Server.

Angeblich sollen die neueren Internet Explorer damit zurechtkommen.
Zwei komplett unabhängige FF Instanzen solten das auch können (also keine Tabs und kein Strg+N).
 
... Angeblich sollen die neueren Internet Explorer damit zurechtkommen.
Zwei komplett unabhängige FF Instanzen solten das auch können (also keine Tabs und kein Strg+N).
Leider, leider, leider ... ... beides nicht. Der MSIE vor Version 8 konnte das. Ab incl. Version 8 teilen sich alle Fenster des MSIE eine Session. Beim FF ist es leider schon seit immer so.

Das einzige was hilft ist, unterschiedliche Browser nebeinandander zu benutzen.
 

Neue Themen


Zurück
Oben