Sto sviluppando una piccola applicazione Web, utilizzata in un computer condiviso.Il cookie di autenticazione ASP.NET non viene eliminato dopo la chiusura di Firefox
Quando l'utente chiude la finestra del browser, voglio che la sessione e l'autenticazione siano cancellate.
Nella pagina di accesso uso qualcosa di simile per autenticare l'utente:
FormsAuthenticationTicket authTicket =
new FormsAuthenticationTicket(1,txtUser.Text,
DateTime.Now,
DateTime.Now.AddMinutes(5),
false,"");
string encTicket = FormsAuthentication.Encrypt(authTicket);
HttpCookie faCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encTicket);
HttpContext.Current.Response.Cookies.Add(faCookie);
string redirectUrl = FormsAuthentication.GetRedirectUrl(txtUser.Text, false);
HttpContext.Current.Response.Redirect(redirectUrl);
Come potete vedere, ho impostare la variabile "isPersistent" per falso.
Sembra funzionare su Chrome (non testato su IE), tuttavia, quando eseguo l'app su Firefox, con più schede attivate, se chiudo il browser e apro di nuovo, sono ancora autenticato e il cookie è ancora lì!
È davvero strano, perché il cookie dovrebbe essere rimosso alla chiusura ... Si tratta di un bug di Firefox, quando sono aperte più schede? Come posso risolvere questo?
L'aiuto è molto apprezzato!
Grazie in anticipo
E dove metto quel codice? Perché voglio cancellarlo quando l'utente chiude la finestra, e non trovo alcun gestore per questo. –
@ Tom S.: Secondo la tua domanda, ho cambiato la mia risposta. Spero che sia d'aiuto. – Tarik
Questo non cancellerebbe anche il cookie di sessione ogni volta che clicchi su un link per andare anche a un'altra pagina all'interno del portale? Essenzialmente li costringono ad accedere ancora e ancora per ogni pagina? Tom vuole solo che ciò accada se chiude il browser che non penso possa essere rilevato. – EdenMachine