FormsAuthentication cookieless con ASP.NET 2.0

di Daniele Bochicchio, in ASP.NET 2.0, web.config, FormsAuthentication,

Tra le mancanze della versione 1.1 di ASP.NET c'è senza dubbio l'assenza di un meccanismo in grado di rendere funzionante la FormsAuthentication anche senza cookie, rendendo quindi di fatto impossibile il supporto per questo tipo di scenario.
Anche se ormai i cookie sono supportati dalla maggior parte dei browser, ci sono utenti che volontariamente o per policy non possono farne utilizzo, piuttosto che device particolarmente datati o limiti non in grado di supportarli, e quindi un sistema in grado di adeguarsi a questi scenari è decisamente utile.
Dalla versione 2.0 di ASP.NET è possibile specificare un attributo del nodo forms del web.config chiamato cookieless:

<authentication mode="Forms">
  <forms name=".ASPXAUTH" loginUrl="login.aspx" protection="All" timeout="30" path="/" cookieless="UseDeviceProfile" />
</authentication>

Di default il suo valore è UseDeviceProfile, che in pratica indica al motore di utilizzare i profili del browser per decidere o meno se inviare il cookie.
Gli altri valori sono UseUri, che invece forza l'inserimento del ticket all'interno dell'URL (come avviene ad esempio per le Session in modalità cookie-less), UseCookies che invia sempre il cookie, e soprattutto AutoDetect, che è invece è in grado di verificare se il browser supporta i cookie attraverso un semplice meccanismo che prova a scrivere un cookie ed effettua un redirect e quindi fornire il cookie piuttosto che utilizzare l'URL, come fa UseUri.

Ovviamente l'ultima opzione, tra tutte, è quella che garantisce un funzionamento ottimale in tutti gli scenari.

Un approccio del tutto simile al controllo dell'esistenza dei cookie, per la 1.1, ma senza il supporto per la Forms Authentication è contenuto nello script #640:
https://www.aspitalia.com/script/640/HttpModuleVerificareSupportoCookie.aspx

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi