>io la gestisco così:
>
Allora spiego la mia situazione:
nel cofig ho impostato questo codice:
<sessionState
mode="InProc"
cookieless="true"
regenerateExpiredSessionId="true"
timeout="20" />
perchè non mi va di gestire al cosa con il cookie.
poi non una masterpage quindi dovrò gestire il tutto per ogni pagina. Comunque io nella pagina index ho due campi i classici user e password che mi servono per far loggare l'utente. Ossia semplicemnete passo questi due dati come parametri ad un stored e se mi restituisce il record faccio una redirect nella home dell'utente e in codice vb creo una session("idutente") e gli passo l'id del record dell'utente così potrò utilizzarlo in tutto il sito per le mie operazioni.
Detto questo la proprietà User.Identity.IsAuthenticated a cosa mi servirebbe? Invece dovrei gestire quando dopo 20 min scade la sessione..carina l'idea che alla scadenza della session appena l'utente cerca di fare qualche operazione essenso la session scaduta mi fa uscire quel popup e mi rimanda alla pagina di login.
ho visto questo link: http://msdn.microsoft.com/it-it/library/system.web.httpcontext.user.aspx
ed nell'evento init code behind ho provato questo codice per vedere cosa succedeva:
If (User.Identity.IsAuthenticated) Then
Page.Title = "Home page for " + User.Identity.Name
End If
ma non viene eseguito e mi restituisce un valore false. Pertanto mi domando che la gestione della session nel web.config come l'ho impostata non va bene per la User.Identity.IsAuthenticated? Vorrei capire mi piacerebbe
>1- al session start controllo se l'utente è autenticato tramite
>la proprietà User.Identity.IsAuthenticated
in base a come ho settato la session nel cofig posso sempre utilizzar eil metodo
>in caso lo fosse faccio eseguire il metodo che viene normalmente
>eseguito all'autenticazione dell'utente
>(in questo modo se la sessione scade un utente non si deve riautenticare)
>all'interno del metodo scrivo anche il cookie FormsAuthentication.SetAuthCookie(...
>
>2- ad ogni pagina del mio sito evento init (nel mio caso solo
>nella masterpage) faccio questo controllo
>if (Session.IsNewSession && IsPostBack) { genero un eccezione
>personalizzata }
>l'eccezione personalizzata serve a bloccare qualsiasi esecuzione
>di codice dopo l'evento init
>Questa eccezione mi fa comparire un popup che avverte della scadenza
>della sessione e al suo interno cè un pulsante "continua" che
>mi rimanda alla pagina Default.aspx nella root del sito
>
>3- nella pagina default.aspx all'interno dell'evento Load inserisco
>un qualsiasi codice che mi scrive in session e subito dopo faccio
che intendi che scrivi qualsiasi codice....
>un redirect ad un altra pagina, di solito la home es:
>Session["StartSession"] = true;
>Response.Redirect(...
>nella pagina default non viene fatto il controllo del punto 2
>scrivo in session per evitare che il codice al punto 2 (Session.IsNewSession)
>mi ritorni true, sinceramente non mi ricordo in quale occasione
>ho riscontrato un problema che per la sua risoluzione richiedeva
>l'aggiunta di questo codice
>
>mi sembra di non aver dimenticato niente...
>
>
>
>
>
>
>Andrea Restucci - Web Developer
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com