Come evitare la condivisione della sessione forniti da IE8 a livello di programmazione in Java EE applicazione?

Microsoft, nel tentativo di fare in modo che Internet Explorer 8 “più stabile” e “più veloce”, hanno cambiato l’architettura sottostante del browser e ha introdotto una funzione chiamata “Loosely-Coupled “IE” (LCIE) che lavora nella sessione di condivisione tra SCHEDA e le nuove istanze.

Ma la condivisione della sessione può essere fatale quando qualcuno sta cercando di fare due cose alla volta, con la stessa applicazione, ad esempio, come qualcuno desidera prenotare uno in avanti del biglietto di viaggio e un biglietto di ritorno, un tempo, a quel tempo egli prenotare 2 biglietti ciò che egli non ha inteso.

PROBABILE SOLUZIONE SU DI ESSO

  1. Durante la creazione di una nuova finestra invece di creare cliccando su un’icona o Ctrl+N, dovremmo usare File -> Nuova Sessione; non accadrà.
  2. Si può fare una modifica del registro di sistema sul PC client – aggiunta la seguente.

    [HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main]

“TabProcGrowth” = dword : 00000000

Disabilita “Liberamente Paio di IE8”; IE8 funziona quindi come per le versioni precedenti di IE.

  1. Eseguire MSIE utilizzando iexplore.exe -nomerge disabilita “Liberamente Paio di IE8”; IE8 funziona quindi come per le versioni precedenti di IE.

Ma come faccio a farlo a livello di programmazione?


Vedi, il mio problema non è la mia applicazione. Funziona bene se sto registrazione di un utente, ma quando mi trovo di registrazione a più utenti con diversi utenti di diverse istanze del browser IE8, poi con i dati della sessione stanno sostituendo la precedente, questo perché entrambi i browser diversi da IE utilizza lo stesso id di sessione. Questo sta accadendo perché la sessione di condivisione di IE8. C’è solo una sessione mantenuto per una applicazione, tuttavia, come molti utenti ho il log-in. Infatti voglio mantenere la sessione per ogni utente.

Come quando sono login di Gmail in un browser. Se io sono semplicemente digitando Gmail su un altro browser. E ‘ la registrazione automaticamente. Non voglio che questa mia domanda. Mi dovrebbe arrivare il login da un altro utente in un momento dovrei eseguire un funzionamento indipendente.

Mia applicazione utilizza Struts, Spring, Hibernate & JBoss application server.

Ora dimmi come devo procedere?

OriginaleL’autore Idiot | 2010-06-03

4 Replies
  1. 2

    Penso che i problemi che avete descritto sopra può essere replicato su tutti i browser e può essere meglio affrontato lato server. Un approccio è quello di creare un id di conversazione e gestire il ciclo di vita della conversazione con un statemachine.

    Questo permette che i vostri utenti, di avere una stagione in cui più conversazioni possono essere tenuti concurently, il che succede un sacco in pratica, almeno in interno di applicazioni enterprise. Il mondo è più caotica di quanto il processo di business modelli in mostra.

    OriginaleL’autore Peter Tillemans

  2. 0

    La vostra scommessa migliore è probabilmente quello di usare un framework per il web che supporta più sessioni simultanee (somtimes chiamati conversazioni o dei flussi), o semplicemente evitare di usare la sessione di tanto e andare a RIPOSARE. Se avete bisogno di hack sul client, non sarebbe in grado di farlo da webapp, ma una custom vincere o da un programma .il file reg che poteva farlo. Questo significa anche che gli utenti di altri sistemi operativi e browser continua a funzionare nello stesso problema.

    OriginaleL’autore Alexander Torstling

  3. 0

    Non mi piace al altre soluzioni fornite. L’unica cosa che voglio è quello di fornire un URL che l’utente può fare clic e ottiene una nuova sessione di login.
    C’è una chiara sessionAuthentication funzione, ma non un openLinkInNewSessionWindow

    Un lavoro in giro per il browser IE8 si potrebbe fornire un link nella pagina “login multiple” e utilizzare il brutto WScript dal browser. Un esempio:

    <html>
      <head>    
        <script>
          function openNewSessionIE8NoMerge() {
            //This opens a new session window for windows with IE8, unfortually there is a Active X security warning.
            var WshShell = new ActiveXObject("WScript.Shell");
            WshShell.Run("iexplore.exe -nomerge www.gmail.com?testNewSession");
          }
        </script>
      </head>
    
      <a href="#" onclick="javascript:openNewSessionIE8NoMerge();">Click here for a new session IE8 (multiple sessions on the same application)</a>
    </html>
    

    Test:
    Salvare l’esempio in sampleNewSession.html aprire il file con IE8, in una nuova scheda di login in gmail, premere il link in sampleNewSession. Ora c’è una nuova finestra e non connesso.

    Questo aiuterà l’utente, si può semplicemente fare clic su un collegamento. L’unico problema è la protezione activeX messaggio.

    ya il suo lavoro…Ma questo non è ciò che il mio è bisogno.
    ya, il suo lavoro…Ma questo non è ciò che il mio è bisogno. La mia necessità è che ho un’applicazione web in struts1.2. abbiamo diversi gruppi di utenti. Diversi gruppi di utenti riceve diverse strutture. Ma se io ho la registrazione in 2 browser diversi con due diverse gruppo utente, il formergroup identità viene sostituito dal successivo gruppo utente.

    OriginaleL’autore user394374

  4. 0

    Cercare di mantenere l’id di sessione al lato client. Per esempio, a livello JSP. Quindi inviare il componente server e provare l’inseguimento. Dire se la sessione ricevuto è in corso attualmente a lato server, quindi tenere premuto per qualche tempo di sincronizzazione o di un analogo meccanismo di attesa. Spero che questo tipo di sessione di problemi dovrebbero essere risolti difficile.

    OriginaleL’autore srinannapa

Lascia un commento