Di default la Forms Authentication non permette di specificare agevolmente una data personalizzata per la scadenza del cookie di autenticazione.
Questo vuol dire che se vogliamo impostare una scadenza del cookie in maniera programmatica (ad esempio in base al ruolo dell'utente) basta un po' di lavoro "sporco".
E' sufficiente partire dallo script #614, modificando la parte in cui creiamo manualmente il cookie, per impostarne la relativa proprietà Expires che andrà a modificare la data di scadenza che di default non è impostata ed ha quindi come effetto quello di provocarne l'invalidità alla chiusura del browser (o allo scadere del timeout impostato nel web.config).
// creo il cookie di autenticazione HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, FormsAuthentication.Encrypt(fat)); cookie.Expires = DateTime.Now.AddDays(30); // 30 giorni da questo momento Response.Cookies.Add(cookie);
In questo modo anche chiudendo e riaprendo il browser l'autenticazione continuerà ad essere presente, perchè la scadenza del cookie è stata posticipata a 30 giorni dal momento in cui viene creato.
Approfondimenti
#614 - Forms Authentication con roles e ticket
https://www.aspitalia.com/liste/usag/script.aspx?ID=614
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.