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.
Approfondimenti
Usare ASP.NET Core dev tunnels per testare le applicazioni su internet
Cache policy su route groups di Minimal API in ASP.NET Core 7
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes
Implementare il throttling in ASP.NET Core
Short-circuiting della Pipeline in ASP.NET Core
Load test di ASP.NET Core con k6