Rondra: Firefox: immer gleiche Session id

Hallo zusammen,

hoffe dass das hier der richtige Themenbereich ist...

ich hab hier eine webanwendung mit struts, wo der user sich einloggen muss (statt jsp verwende ich xml/xsl). Aus dem allerersten Request wird die session erstellt.

Problem: Firefox (möglicherweise sogar mozilla allgemein ) nutzen jedoch auch bei mehreren Browserinstanzen immer die gleiche (zuerst erzeugte) session id. Das ist extrem übel für meine Zwecke, da -wenn auch nur in einem der browser die session stirbt-, alle anderen instanzen auch sterben.
*seufz*

Weiss so langsam nich mehr was ich machen soll. im netz gibt es PHP lösungen en masse aber keinen tipp zu meinem struts framework, wo es ja keine php.ini gibt wo man die sessions konfigurieren kann..

hat jemand n tipp für mich?

Dankeeee
Rondra

  1. Moin!

    ich hab hier eine webanwendung mit struts, wo der user sich einloggen muss (statt jsp verwende ich xml/xsl). Aus dem allerersten Request wird die session erstellt.

    Problem: Firefox (möglicherweise sogar mozilla allgemein ) nutzen jedoch auch bei mehreren Browserinstanzen immer die gleiche (zuerst erzeugte) session id. Das ist extrem übel für meine Zwecke, da -wenn auch nur in einem der browser die session stirbt-, alle anderen instanzen auch sterben.

    Offenbar verwendet Firefox jeweils nur exakt EIN Cookie für alle Fenster- und Tab-Darstellungen. Insofern gibt es keine "mehreren Instanzen", bzw. das Erstellen mehrerer Instanzen wird vom Firefox programmtechnisch verhindert. Ist so gesehen auch sehr sinnvoll, denn es wäre nicht einzusehen, warum ein und derselbe Browser eben gerade NICHT auf ein und denselben Cookie-Datenbestand zurückgreifen sollte.

    Gleiche Cookies bedeuten aber auch gleiche Session-ID, gleiche Session-ID bedeutet, dass die Session in allen Fenstern gleichzeitig stirbt.

    Brauchst du die parallelen Instanzen aus Benutzergründen, oder aus Entwicklergründen?

    - Sven Rautenberg

    --
    My sssignature, my preciousssss!
    1. Hi,

      ich hab hier eine webanwendung mit struts, wo der user sich einloggen muss (statt jsp verwende ich xml/xsl). Aus dem allerersten Request wird die session erstellt.
      Problem: Firefox (möglicherweise sogar mozilla allgemein ) nutzen jedoch auch bei mehreren Browserinstanzen immer die gleiche (zuerst erzeugte) session id. Das ist extrem übel für meine Zwecke, da -wenn auch nur in einem der browser die session stirbt-, alle anderen instanzen auch sterben.

      Offenbar verwendet Firefox jeweils nur exakt EIN Cookie für alle Fenster- und Tab-Darstellungen.

      Das stimmt nur dann, wenn alle Fenster mit demselben User-Profil betrieben werden.

      Insofern gibt es keine "mehreren Instanzen", bzw. das Erstellen mehrerer Instanzen wird vom Firefox programmtechnisch

      für dasselbe User-Profil

      verhindert. Ist so gesehen auch sehr sinnvoll, denn es wäre nicht einzusehen, warum ein und derselbe Browser

      für dasselbe User-Profil

      eben gerade NICHT auf ein und denselben Cookie-Datenbestand zurückgreifen sollte.

      cu,
      Andreas

      --
      Warum nennt sich Andreas hier MudGuard?
      Schreinerei Waechter
      O o ostern ...
      Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
    2. Hallo ihr beiden

      und danke erstmal.

      Mehrere Browser-Instanzen müssen programmtechnisch funktionieren (Anforderung). Einfach aus dem Grunde weil es möglich sein soll dass ein und derselbe user mehrere accounts im system (meine anwendung) haben kann und seine datenbestände mit mehreren logins bearbeiten können soll.

      anyway, Firefox scheint das also nicht für denselben FF-Profil zu ermöglichen. Das ist schon mal eine Erkenntnis.

      Danke herzlich für die infos.

      viele Grüsse
      Rondra

      1. Moin!

        Mehrere Browser-Instanzen müssen programmtechnisch funktionieren (Anforderung). Einfach aus dem Grunde weil es möglich sein soll dass ein und derselbe user mehrere accounts im system (meine anwendung) haben kann und seine datenbestände mit mehreren logins bearbeiten können soll.

        Dann mußt du diese Anforderung eben programmtechnisch lösen - und dich dabei dann irgendwie von der Notwendigkeit lösen, dass eine Session-ID = ein Login ist, sondern es in der Tat bedeutet, dass eine Session-ID für mehrere Logins steht - zumindest, wenn du Cookies für die Session verwendest.

        Mit User-IDs in der URL hast du dagegen keine Probleme, auch in derselben Browserinstanz mehrere Logins durch mehrere Sessions zu realisieren.

        Welche schlaue Lösung man da allerdings nehmen soll, fällt mir auf die Schnelle auch nicht ein. Möglicherweise bietet sich ein User- bzw. Rollenwechselkonzept in deiner Applikation an.

        - Sven Rautenberg

        --
        My sssignature, my preciousssss!
    3. Hallo Sven,

      Offenbar verwendet Firefox jeweils nur exakt EIN Cookie für alle Fenster- und Tab-Darstellungen.

      ja, das ist üblich. Das ist beim IE nicht anders, und beim Opera vermutlich ebenso. Zumindest für den Firefox hat Andreas ja einen guten Denkanstoß gegeben. Mal sehen, ob sowas ähnliches im Opera auch geht; im IE definitiv nicht, weil der immer mit dem Profil des angemeldeten Windows-Benutzers arbeitet und keine verschiedenen Profile desselben Users kennt.

      denn es wäre nicht einzusehen, warum ein und derselbe Browser eben gerade NICHT auf ein und denselben Cookie-Datenbestand zurückgreifen sollte.

      Doch, ich habe mir das schon oft gewünscht, z.B. um mich bei einem Anbieter (z.B. GMX oder ebay) mit sessionbasiertem Login unter zwei oder mehr Accounts gleichzeitig anmelden zu können. Bisher habe ich es gelöst, indem ich dann parallel mit zwei verschiedenen Browsern gearbeitet habe, oder noch besser von verschiedenen Rechnern aus. Bei ebay genügt es auch schon, wenn man sich mit Account A bei ebay.de einloggt und mit Account B z.B. bei ebay.at, da die Benutzerdaten dort domainübergreifend verwaltet werden, die Browser ihre Cookies aber nach Domains trennen.

      Brauchst du die parallelen Instanzen aus Benutzergründen, oder aus Entwicklergründen?

      Ich würde sagen: Sowohl als auch.

      Ciao,
       Martin

      --
      Der Gast geht solange zum Tresen, bis er bricht.