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
Session, Application e affini
domenica 08 ottobre 2006 - 15.08
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
nullatore
Profilo
| Junior Member
191
messaggi | Data Invio:
dom 8 ott 2006 - 15:08
Salve a tutti. Data la mia piccola esperienza nel settore vorrei chiedere un parere su come ho risolto il problema dell'accesso ad una sezione privata di un sito.
Mi sono avvalso della <session> e dell' <application>. Questo è il flusso logico:
-utente effettua il login->Istanzio un valore nella session che mi indica l'utente loggato, il quale sarà anche il discriminante per fare vedere le pagine interne-> Istanzio un valore nell'application che mi indica che l'utente è attualmente on line. Quest'ultimo viene usato anche per non far accere contemporaneamente piu' utenti con lo stesso login.
->imposto un timeout della session ad un minuto, che permetta allo sbadato che ha chiuso il browser senza fare il logout (o nel caso di problemi di connessioni) di potersi rilogare dopo brevissimo -> contemporanemente ho creato un frame nascosto che parte una volta che si è loggati affinche' tenga viva la sessione (un minuto è pochissimo per chi lavora dentro la sezione privata del sito)
-> nel session_end cancello dall'<application> l'utente che ha perso la sessione (volontariamente o non)
Il tutto sembrerebbe funzionare. Ma non so se sto facendo una pecionata, se ci sono controindicazioni e se è sicuro un approccio del genere.
Aggiungo anche una manciata di domande:
-il frame che ho aggiunto per mantere viva la session contiene una pagina autoaggiornante (tramite script js). Questo trucco funziona (ovvero mantiene viva la session) solo se al suo interno viene ciclicamente ricaricato un file .aspx ,mentre non funziona con un .htm (nonostante siano entrambi vuoti). Sapete spiegarmi il perche?
- ho letto che il timeout della session puo' non coincidere con il timeout del cookie. Ma allora non basta settare il timeout della session nel web.config?
- Avrei potuto lasciare un timeout della session alto (ad esempio 20 minuti), quindi senza dover utilizzare il trucco per manterla viva e che mi permetta pero' di poter riaccedere alla sezione privata (nel caso l'utente abbia chiuso il browser o la connessione) prima di quei 20 minuti? (ricordo che un login implica l'aggiunta dell'utente all'application, dal quale non si viene cancellati prima della scadenza della session)
Grazie mille.
nullatore
Profilo
| Junior Member
191
messaggi | Data Invio:
lun 9 ott 2006 - 14:15
>Visto che hai postato nella stanza di asp.net 2.0 perchè non
>usi la nuova autenticazione e gestione degli utenti?
>
>In questo modo elimini:
>frame che non devo essere più usati(sono stati deprecati dal
>w3c)
>session che non è scalabile(se non usata tramite sql server)
>snellisci la tua applicazione
>
>-------------
Grazie per il consiglio. Mi aggiornerò sul nuovo sistema...anzi se hai da linkare qualche cosa a riguardo.
Per ora quello che ho fatto puo' funzionare?
Ciao
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 !