Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 2.0 / 3.5 / 4.0
Autenticazione Form - Cookie persistente
martedì 25 luglio 2006 - 18.33
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
giacomoD
Profilo
| Newbie
40
messaggi | Data Invio:
mar 25 lug 2006 - 18:33
Ciao a tutti,
in ASP.NET 1.1 con la form authentication potevo dare all'utente di salvare il cookie di autenticazione in modo persistente per 50 anni, oppure senza cliccare su "Remember Me" il cookie di autenticazione aveva una durata configurabile.
Capisco che salvare il cookie per 50 anni pone seri problemi di sicurezza, ma ora in ASP.NET 2.0 sembrerebbe che è possibile solamente indicare un unico timeout, che è valido sia per i cookie persistenti, che per quelli temporanei.
Mi chiedo: che senso ha avuto fare ciò? Se voglio dare all'utente la possibilità di riaccedere al sito senza dover rifare il login dovrò in tal modo impostare un timeout molto elevato, però a questo punto non avrò più la funzionalità del cookie temporaneo, ovvero non potrò più far scadere l'autenticazione dopo x minuti che l'utente non interagisce...
Ovviamente vale pure il viceversa, ovvero se voglio la funzionalità del cookie temporaneo dovrò impostare un tomeout basso, e quindi addio cookie persistente...
Se sbaglio chiedo delucidazioni su questa cosa...
Ciao
Giacomo
Ciciu
Profilo
| Senior Member
233
messaggi | Data Invio:
mar 25 lug 2006 - 19:28
Ciao.
Se ho capito bene il problema, Tu hai lo stesso che ho risolto con il prezioso aiuto di David...
http://www.dotnethell.it/Forum/messages.aspx?ThreadID=9221
Ciao - Fabio
Fabio G
us01739
Profilo
| Expert
641
messaggi | Data Invio:
mer 26 lug 2006 - 08:36
Inserisci queste sezione nel web.config
<authentication mode="Forms">
<forms timeout="26280000"></forms>
</authentication>
L'unico dubbio è sulla grandezza: 50 anni sono circa 26280000 minuti, e non sò se li accetta....
Bye
---------------------------------------------------
Roberto Gelmini - Microsoft Certified Professional
www.robertogelmini.com
---------------------------------------------------
giacomoD
Profilo
| Newbie
40
messaggi | Data Invio:
mer 26 lug 2006 - 09:02
Grazie per le risposte innanzitutto..
Inserendo un timeout ad un valore elevato come da voi consigliato porterebbe ad avere un cookie persistente (se l'utente ha cliccato su "Remember Me") della durata di svariati giorni o mesi, ma causerebbe allo stesso tempo un cookie temporaneo (se l'utente NON ha cliccato su "Remember Me") della stessa durata! Questo vuol dire che l'utente dopo il login deve avere un periodo di inattività pari a quel lasso di tempo per vedersi riproporre la schermata di login, e questo secondo me induce un gran problema di sicurezza.
E' questo il mio disappunto. Io sarei portato ad eliminare dal mio sito di e-commerce la possibilità di avere un cookie persistente in queste condizioni, perchè ciò vorrebbe dire introdurre un problema di sicurezza non trascurabile...
Che cosa ne pensate??
Ciao
Giacomo
us01739
Profilo
| Expert
641
messaggi | Data Invio:
mer 26 lug 2006 - 10:36
Scusa, non vorrei portarti sulla strada sbagliata, ma perchè nel caso che tu non voglia creare un cockie permanente non utilizzi semplicemente la session del webserver?
---------------------------------------------------
Roberto Gelmini - Microsoft Certified Professional
www.robertogelmini.com
---------------------------------------------------
giacomoD
Profilo
| Newbie
40
messaggi | Data Invio:
mer 26 lug 2006 - 10:58
Ciao us01739,
perchè in tal modo non otterrei quello che mi serve.
Una cosa è l'oggetto Session di ASP.NET, una cosa è avere informazioni relative all'autenticazione. L'oggetto session è completamente slegato dal meccanismo di autenticazione di ASP.NET, è solo un oggetto in memoria del webserver identificabile attraverso il SessionId, che è un identificativo generato per ogni pagina ASPX che supporti le sessioni, indipendentemente se tale pagina è sotto autenticazione o meno. Tale Session ID solitamente viene memorizzato in un cookie per garantire che l'intera sessione del browser utilizzi lo stesso Session ID.
Un'altra cosa invece è il cookie di autenticazione, che viene passato solo a quelle pagine che sono dietro form authentication, ed ha una sua scadenza, indipendente dal cookie di sessione.
Detto questo, capirai che non è buona norma salvare le informazioni di logon in sessione.
Comunque il mio problema è capire come posso fare ad avere un sito web che abbia sia la funzionalità dei cookie di autenticazione permanetenti (com timeout alto ~ giorni) sia quella dei cookie di autenticazione temporanei (con timeout basso ~ minuti), dal momento che questi due timeout in asp.net 2.0 sono diventati lo stesso unico oggetto.
Ciao
Giacomo
us01739
Profilo
| Expert
641
messaggi | Data Invio:
mer 26 lug 2006 - 11:00
Umhh....
Attendo la risposta di qualche guru perchè interessa anche a me....
---------------------------------------------------
Roberto Gelmini - Microsoft Certified Professional
www.robertogelmini.com
---------------------------------------------------
giacomoD
Profilo
| Newbie
40
messaggi | Data Invio:
mer 26 lug 2006 - 11:14
Ok.
Allora aspettiamo fiduciosi..
Giacomo
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !