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.
Per approfondimenti si veda:
#614 - Forms Authentication con roles e ticket
http://www.aspitalia.com/liste/usag/script.aspx?ID=614
Esprimi il tuo giudizio su questo script:
Per procedere devi essere autenticato.
Per inserire un commento, devi registrarti alla nostra community.









Stampa
Snippet
Download 


