3 messaggi dal 22 aprile 2009
Salve a tutti,
ho realizzato un'applicazione .net che utilizza l'autenticazione "forms", e contemporaneamente mette in sessione delle informazioni circa l'utente. Chi la sta utilizzando lamenta lo scadere della sessione, ed io ho l'impressione che sia prima questa a scadere che l'autenticazione stessa.

In altre parole per ogni pagine per avere sempre disponibili le informazioni in sessione io faccio il seguente controllo:

if (User.Identity.IsAuthenticated && Session["Nome"] != null)

Non mi è chiaro come possa impostare i timeout per entrambe le condizioni, infatti si verifica comunque la condizione "false" nonostrante nel Web.config abbia impostato quanto segue:

<authentication mode="Forms">
<forms name="Log" path="/" loginUrl="LogIn.aspx" protection="All" timeout="180">
</forms>
</authentication>

<sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;user id=sa;password=" cookieless="false" timeout="180"/>

Vorrei chiedervi se verificate qualche errore nella configurazione e se è necessario altrimenti variare anche delle impostazioni lato IIS.

Grazie a tutti,
D.
billidvd wrote:
Vorrei chiedervi se verificate qualche errore nella configurazione e se è necessario altrimenti variare anche delle impostazioni lato IIS.

è difficile che siano in sync, perchè entrambe sono sliding (cioè, se fai accesso, la scadenza è protratta del timeout). questo vuol dire che devi inventarti un modo (un HttpModule, ad esempio) per verificare che entrambe siano sempre valide ed in caso contrario far scadere l'altra (o, se per te è possibile, ricaricare nuovamente lo stato iniziale).

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.