Ho il codice seguente su una pagina di accesso. Lo sto utilizzando per impostare il timeout di accesso per cliente. In IE8 mi sto imbattendo nel problema che se un utente apre un'altra finestra del browser, quindi si disconnette nella prima finestra, quando si reinseriscono nuovamente vengono rimandati al login dopo una singola pagina (ogni volta). Se non aprono un altro browser, tutto va bene.IE8 e autenticazione moduli ASP.Net hanno esito negativo quando si aprono più browser
Ho trovato un sacco di domande su questo, ma l'unica soluzione che ho trovato che funziona è utilizzare il metodo cookieless (URI).
Ho visto alcuni articoli che dicono di impostare il dominio, cosa che sto facendo, ma che non funziona. Inoltre, ho provato a impostare authticket su persistente e non persistente. Nessuno dei due ha fatto la differenza. Ho visto che una volta che il cookie auth è stato rimosso dalla cartella, non viene ricreato quando effettuo il login.
Se apro la seconda finestra del browser come una "Nuova sessione", non ho alcun problema. (Questo non è pratico in quanto non possiamo addestrare tutti gli utenti dell'applicazione ad aprire finestre aggiuntive in questo modo.)
C'è una soluzione per questo che qualcuno ha trovato che non prevede l'utilizzo dell'approccio URI senza cookie?
int timeoutValue = 20 // This value is actually returned from a method;
FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket(LoginControl.UserName, false, timeoutValue);
string encryptedTicket = FormsAuthentication.Encrypt(authTicket);
HttpCookie authCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket);
authCookie.Domain = "my.domain";
authCookie.Expires = DateTime.Now.AddMinutes(timeoutValue);
HttpContext.Current.Response.Cookies.Add(authCookie);
chiarire: l'utente apre una nuova finestra del browser dall'app? cioè clic con il tasto destro del mouse> apri link in una nuova finestra, essenzialmente estendendo la sessione alla nuova finestra? –
Sì, ma non importa come aprono la seconda finestra. Se avviano un nuovo browser da un collegamento sul desktop, nuova scheda, fare clic con il pulsante destro del mouse. L'unico modo che non causa il problema è "File ... Nuova sessione" – Mikejh99
In realtà, consentitemi di riaffermarlo. Se avvio il browser originale da un collegamento sul desktop, non ho il problema. Penso che questo abbia qualcosa a che fare con il modo in cui IE si sta avviando, con -nomerge o qualcosa del genere. – Mikejh99