Gestione del timeout della session

mercoledì 06 febbraio 2013 - 00.23
Tag Elenco Tags  VB.NET  |  .NET 4.0  |  Windows Server 2008  |  Visual Studio 2010

trinity Profilo | Guru

Ragazzi,

dopo che scadono i diciamo classici 20 min della session se la pagina è inattiva, come si può gestire il tutto con una pagina che indica che la sessione è scaduta? Forse devo gestirla nella global.asax? Ma come?

ciao
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

ridaria Profilo | Expert

ci sono vari modi:

Innanzitutto dipende da come gestisci la sessione con i kookie senza kookie.

inanzi tutto devi accorgerti via codice che la session è scaduta, e te ne accorgi perché l'ID di sessione è cambiato rispetto a quello precedente che chiaramente devi aver stivato in una variabile di sessione altrimenti non puoi fare il confronto.

Ma ancora, allo scadere della sessione, tutte le variabili di sessione vengono annullate, nel senso che vengono svuotate del loro contenuto.

Quindi ti accorgi che la sessione è scaduta perché non trovi più nelle variabili di sessione ciò che ti aspetti: Ad esempio, la username dell'utente connesso.


A questo punto gestisci a tuo piacimento l'evento magari con un rimando ad una pagina ove indichi al navigatore che la sessione è scaduta e lo inviti a riloggarsi ;-)

CIAO



Questo confronto continuo
Riccardo D'Aria

trinity Profilo | Guru

>ci sono vari modi:
>
>Innanzitutto dipende da come gestisci la sessione con i kookie
>senza kookie.

Allora come tipo di gestione per la sessione non utilizzo i cookie ossia ho impostato nel config la segeunte configurazione:

mode="InProc" cookieless="true" regenerateExpiredSessionId="true" timeout="20" />



>inanzi tutto devi accorgerti via codice che la session è scaduta,
>e te ne accorgi perché l'ID di sessione è cambiato rispetto a
>quello precedente che chiaramente devi aver stivato in una variabile
>di sessione altrimenti non puoi fare il confronto.

Come faccio a prendere l'id di sessione che viene attribuito all'apertura del sito? e poi in quale variabile dovrei salvare questo id una volta ricavato? Nel senso questo id di sessione dovrei salvarlo in una variabile che resta disponibile anche quando la sessione è scaduta e in + tale variabile deve essere sicura imamgino. Pertanto dove la vado a salvare? Te cosa mi consigli?

>
>Ma ancora, allo scadere della sessione, tutte le variabili di
>sessione vengono annullate, nel senso che vengono svuotate del
>loro contenuto.

Io ho una variabile di sessione denominata idutente, potrei anche fare il gioco del controllo su quella, giusto?

>Quindi ti accorgi che la sessione è scaduta perché non trovi
>più nelle variabili di sessione ciò che ti aspetti: Ad esempio,
>la username dell'utente connesso.
>
>
>A questo punto gestisci a tuo piacimento l'evento magari con
>un rimando ad una pagina ove indichi al navigatore che la sessione
>è scaduta e lo inviti a riloggarsi ;-)

Ma la gestione del controllo se la sessione è atitva oppure no lo debbo fare nel file global.asax?

>
>CIAO
>
>
>
>Questo confronto continuo
>Riccardo D'Aria

Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

ridaria Profilo | Expert


>>Ma ancora, allo scadere della sessione, tutte le variabili di
>>sessione vengono annullate, nel senso che vengono svuotate del
>>loro contenuto.
>
>Io ho una variabile di sessione denominata idutente, potrei anche
>fare il gioco del controllo su quella, giusto?

ESATTO io uso questa tecnica.
>

>
>Ma la gestione del controllo se la sessione è atitva oppure no
>lo debbo fare nel file global.asax?

No, non credo si possa fare lì.
In ogni evento Load di ogni pagina fai il controllo.

Ci sono due modi:

1) Crei una funzione che restituisce true o false a seconda che la variabile di sessione che hai scelto (dutente) contenga il valore id. Se restituisce false fai un redirect alla pagina dove dici: Sessione scaduta ecc .......

2) Un altra tecnica è creare un controllo .ascx che fa questo controllo e che se false rimanda alla pagina .........
Questo controllo ascx devi chiaramente istanziarlo in ogni pagina.

Oramai uso il secondo metodo che per mè è più sbrigativo.



CIAO



Riccardo D'Aria

trinity Profilo | Guru

>
>>>Ma ancora, allo scadere della sessione, tutte le variabili di
>>>sessione vengono annullate, nel senso che vengono svuotate del
>>>loro contenuto.
>>
>>Io ho una variabile di sessione denominata idutente, potrei anche
>>fare il gioco del controllo su quella, giusto?
>
>ESATTO io uso questa tecnica.
>>
>
>>
>>Ma la gestione del controllo se la sessione è atitva oppure no
>>lo debbo fare nel file global.asax?
>
>No, non credo si possa fare lì.
>In ogni evento Load di ogni pagina fai il controllo.
>
>Ci sono due modi:
>
>1) Crei una funzione che restituisce true o false a seconda che
>la variabile di sessione che hai scelto (dutente) contenga il
>valore id. Se restituisce false fai un redirect alla pagina dove
>dici: Sessione scaduta ecc .......

aspetta un secondo per capire, se io lascio il broweser aperto alla pagina (esempio: profilo.aspx) l'utente se ne va e quando torna la sessione è scaduta, lui invece cosa fa clicca immediatamente si alcuni servizi della pagina tipo la ricerca di dati o altro...è li che non capisco come faccio a fare il controllo della sessione. Se metto il controllo sulla load della pagina ma la pagina è rimasta aperta e l'utente clicca direttamente su alcuni button di ricerca, l'evento del load della pagina viene rieseguito in quanto la sessionid è scaduta?

>2) Un altra tecnica è creare un controllo .ascx che fa questo
>controllo e che se false rimanda alla pagina .........
>Questo controllo ascx devi chiaramente istanziarlo in ogni pagina.
nel senso che nel file ascx fai il controllo se la variabile di sessione che nel mio caos è idutente sia ancora valorizzata o no, giusto e se non è valorizzata, come fai a mandare un valore alla pagina aspx che poi eseguirà il redirect su una pagina di informazione?
>Oramai uso il secondo metodo che per mè è più sbrigativo.
>
>
>
>CIAO
>
>
>
>Riccardo D'Aria

Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

ridaria Profilo | Expert



>
>aspetta un secondo per capire, se io lascio il broweser aperto
>alla pagina (esempio: profilo.aspx) l'utente se ne va e quando
>torna la sessione è scaduta, lui invece cosa fa clicca immediatamente
>si alcuni servizi della pagina tipo la ricerca di dati o altro...è
>li che non capisco come faccio a fare il controllo della sessione.
>Se metto il controllo sulla load della pagina ma la pagina è
>rimasta aperta e l'utente clicca direttamente su alcuni button
>di ricerca, l'evento del load della pagina viene rieseguito in
>quanto la sessionid è scaduta?

Gran parte dei click generano un postback (pulsante) DDL se ha autopostback = true etc.....
e quindi generando un postback riparte anche l'evento Load della pagina.


>
>>2) Un altra tecnica è creare un controllo .ascx che fa questo
>>controllo e che se false rimanda alla pagina .........
>>Questo controllo ascx devi chiaramente istanziarlo in ogni pagina.
>nel senso che nel file ascx fai il controllo se la variabile
>di sessione che nel mio caos è idutente sia ancora valorizzata
>o no, giusto e se non è valorizzata, come fai a mandare un valore
>alla pagina aspx che poi eseguirà il redirect su una pagina di
>informazione?

dal codice del controllo ascx:
nell'evento load del controllo fai la verifica su session idUtente
se vuota esegui un semplice redirect alla pagina voluta.

CIAO



Riccardo D'Aria

andrestu Profilo | Expert

io la gestisco così:

1- al session start controllo se l'utente è autenticato tramite la proprietà User.Identity.IsAuthenticated
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 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

trinity Profilo | Guru

>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

andrestu Profilo | Expert

allora:

la sessione viene identificata tramite Id che viene scritto/letto o tramite url o cookie, quindi ok nel tuo caso usi l'url ma fai attenzione, questo quanto scritto su MSDN:

Lo stato della sessione viene mantenuto finché l'utente fa clic su collegamenti modificati in questa maniera.Tuttavia, se il client riscrive un URL fornito dall'applicazione, ASP.NET potrebbe non essere in grado di risolvere l'ID di sessione e di associare la richiesta a una sessione esistente.In tal caso, verrà avviata una nuova sessione per la richiesta.

quindi ricapitolando se tra una richiesta e laltra passa più del tempo impostato in timeout (ovviamente le due richieste devono avere lo stesso sessionId) la proprietà "Session.IsNewSession" risulterà true fino al momento in cui io inserisco qualcosa in session (qualsiasi cosa), almeno questo da quanto ho potuto constatare. cioè non vorrei dire una cagata ma se io mi trovo con una sessione scaduta e faccio 1/10/100 richieste consecutive e in queste richieste non scrivo niente in session avrò sempre la proprietà impostata a true

User.Identity.IsAuthenticated
questa proprietà viene valorizzata true se viene trovato il cookie di autenticazione FormsAuthentication.SetAuthCookie(..
io eseguo questo metodo ovviamente dopo il controllo nel db dell'utente e password.
poi,
quando viene avviata una nuova sessione potrei trovarmi la proprietà User.Identity.IsAuthenticated su true perchè precedentemente l'utente aveva fatto il login ed è per questo che in tal caso rieseguo la procedura di login, quindi anche alla scadenza di sessione l'utente si troverà autenticato
















Andrea Restucci - Web Developer

andrestu Profilo | Expert

in questo modo se un utente è autenticato sono sicuro che in session ci saranno sempre i suoi dati relativi, quelli che carico durante la procedura personalizzata di login, anche se la session scade.
se chiudo il browser e lo riapro il cookie di autenticazione salvato precedentemente è ancora vaildo solo se nel metodo SetAuthCookie passo come parametro, oltre al nome utente, un boolean che specifica se creare un cookie persistente, io per sicurezza lo metto false, almeno alla chiusura del browser quel cookie non è più valido.




Andrea Restucci - Web Developer

andrestu Profilo | Expert

a dimenticavo:

il redirect alla scadenza della sessione lo faccio perchè nel caso in cui utilizzo una pagina la cui logica dipende dalla presenza di alcuni dati in sessione (esempio un id di un prodotto in fase di modifica), questa pagina non verrà eseguita completamente in caso di nuova sessione.
la pagina Default.aspx non dovrà contenere alcuna logica solo del codice che contrassegna che la sessione come non più nuova sessione

vabbè diciamo che questo ultima parte forse và un pò rivista perchè non può essere un metodo valido per tutti i contesti, è un metodo "sbrigativo" per evitare alcuni errori dovuti alla mancanza di dati in sessione a causa della sua scadenza.


Andrea Restucci - Web Developer

trinity Profilo | Guru

Scusa ma allora non è più semplice anche come abbiamo parlato io e ridaria ossia quando si apre il sito o con il cookiless attivo o no nel mio caso preferisco passare idsession in url, si carica passi l'id del tuo utente che hai preso dal db e lo metti in una session esempio: session.item("idutente") = id poi sull'evento init si fa un controllo se tale variabile è piena o no nel caso della session scaduta questa variabile viene pulita quindi vuota e per questo fai una redirect alla pagina di login. Io non voglio far rimanere sempre loggati ma bensi metto solo una checkbox che stabilisco se voglio tenere memoriazzate le password e pertanto se decidono di salvare creo un cookie permanente. a questo punto sull'init della pagina logi se il cookie esiste prendo i dati e eseguo il login in automatico.

Ciao
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

andrestu Profilo | Expert

non ho capito bene il procedimento, allora, per il momento non consideriamo il discorso del salvataggio password con checkbox, semplifichiamo e ammettiamo che il sito ha solo username e password, lo scopo è:

se un utente fa il login e poi la sessione scade bisogna evitare di far ripetere il login all'utente, al massimo compare il messaggio che la sessione è scaduta e viene fatto il redirect alla home o altra pagina, però l'utente non deve ripetere il login, ammenochè non chiude completamente il browser

tu dici che:

>... quando si apre il sito o con il cookiless
>attivo o no nel mio caso preferisco passare idsession in url,
>si carica passi l'id del tuo utente che hai preso dal db e lo
>metti in una session esempio: session.item("idutente") = id poi
>sull'evento init si fa un controllo se tale variabile è piena
>o no nel caso della session scaduta questa variabile viene pulita
>quindi vuota e per questo fai una redirect alla pagina di login.

ok ma così se la sessione scade e l'utente ha ancora il browser aperto deve rifare il login giusto ?
ricorda che la sessione in rari casì può anche scadere prima del timeout.
facendo invece come faccio io l'utente viene riautenticato in automatico, se invece chiude e riapre il browser no

a questo punto prendiamo anche in considerazione la checkbox del salvataggio permanente password

>Io non voglio far rimanere sempre loggati ma bensi metto solo
>una checkbox che stabilisco se voglio tenere memoriazzate le
>password e pertanto se decidono di salvare creo un cookie permanente.

io questa la implemento creando un ulteriore cookie permanente che si basa sul IP della macchina, al momento del logon, nel mio caso viene aperto un popup dedicato, viene verificato se presente questo cookie precedentemente salvato (se l'utente ha cliccato la famosa checkbox), se presente viene fatto un confronto tra l'ip corrente del client e l'ip letto dal cookie, secoincidono allora i campi username e password vengono automaticamente valorizzati così l'utente basta che clicca sul tasto ok per entrare e non deve far nessun'altra operazione. potrei fare anche in modo che sia automatica la cosa ma preferisco di no perchè l'utente potrebbe scegliere di navigare senza effettuare il logon.


Andrea Restucci - Web Developer

trinity Profilo | Guru

>non ho capito bene il procedimento, allora, per il momento non
>consideriamo il discorso del salvataggio password con checkbox,
>semplifichiamo e ammettiamo che il sito ha solo username e password,
>lo scopo è:
>
>se un utente fa il login e poi la sessione scade bisogna evitare
>di far ripetere il login all'utente, al massimo compare il messaggio
>che la sessione è scaduta e viene fatto il redirect alla home
>o altra pagina, però l'utente non deve ripetere il login, ammenochè
>non chiude completamente il browser

Su questa procedura diciamo che scatta la personalizzazione del programmatore che vuole dare il servizio all'utente. Per esempio ci sono molti siti e per citare i più importanti proprio quelli di banca che anche se stai sulla pagina del sito e scade la sessione, l'utente deve ripetere il login inserendo di nuovo user e password io voglio fare lo stesso perchè i dati che tratto circolano in un'azienda e supponiamo che l'utente si scorda di chiudere il browser, qualsiasi altra persona si siede al suo pc in sua assenza momentanea e anche se la sessione è scaduta potrebbe riprendere tranquillamente la navigazione. Diciamo che voglio essere un pochino + rigido poi proprio per questo motivo se la persona mette il check sul ricorda password allora la sessione è scaduta esce la popup di avvertimento ma poi viene rifatto in automatico il login ossia potrebbe ritornare sulla home page senza passare dalla pagina di login. Ma questo solo se l'utente ha deciso di abilitare il ricorda password oppure se vogliamo scrivere il resta sempre collegato. Dipende da noi che lo progettiamo


>tu dici che:
>
>>... quando si apre il sito o con il cookiless
>>attivo o no nel mio caso preferisco passare idsession in url,
>>si carica passi l'id del tuo utente che hai preso dal db e lo
>>metti in una session esempio: session.item("idutente") = id poi
>>sull'evento init si fa un controllo se tale variabile è piena
>>o no nel caso della session scaduta questa variabile viene pulita
>>quindi vuota e per questo fai una redirect alla pagina di login.
>
>ok ma così se la sessione scade e l'utente ha ancora il browser
>aperto deve rifare il login giusto ?
>ricorda che la sessione in rari casì può anche scadere prima
>del timeout.
>facendo invece come faccio io l'utente viene riautenticato in
>automatico, se invece chiude e riapre il browser no
>
>a questo punto prendiamo anche in considerazione la checkbox
>del salvataggio permanente password
>
>>Io non voglio far rimanere sempre loggati ma bensi metto solo
>>una checkbox che stabilisco se voglio tenere memoriazzate le
>>password e pertanto se decidono di salvare creo un cookie permanente.
>
>io questa la implemento creando un ulteriore cookie permanente
>che si basa sul IP della macchina, al momento del logon, nel
>mio caso viene aperto un popup dedicato, viene verificato se
>presente questo cookie precedentemente salvato (se l'utente ha
>cliccato la famosa checkbox), se presente viene fatto un confronto
>tra l'ip corrente del client e l'ip letto dal cookie, secoincidono
>allora i campi username e password vengono automaticamente valorizzati
>così l'utente basta che clicca sul tasto ok per entrare e non
>deve far nessun'altra operazione. potrei fare anche in modo che
>sia automatica la cosa ma preferisco di no perchè l'utente potrebbe
>scegliere di navigare senza effettuare il logon.
>
>
>Andrea Restucci - Web Developer

Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

andrestu Profilo | Expert

si ok son daccordo con te dipende dalle scelte del programmatore, io per esempio ho avuto un cliente che mi diceva che tenendo il sito aperto quasi tutto il giorno voleva evitare di rifare il login ogni volta, ecco quindi la soluzione precedente.
Per quanto riguarda la sicurezza nelle aziende, sopratutto nelle grosse, di solito si utilizza uno screensaver con password, anche perchè il problema sta proprio alla base e non riguarda solo il browser ma per esempio anche la rete interna aziendale, quindi dev'essere bloccato tutto il pc, e poi il malintenzionato si potrebbe sedere sempre prima che scadi la sessione o prima che si attivi lo screensaver, quindi è prassi consolidata ormai bloccare il pc quando si ci alza dalla scrivania.
Detto questo aggiungo anche che la tua soluzione potrebbe essere un esigenza per magari mille altri motivi che non stiamo qui ad elencare, quindi è assoluta verità quello che dici.

> ...il ricorda password oppure se vogliamo scrivere il resta sempre collegato

be però sono comportamenti differenti, quello più comunemente conosciuto è il "ricorda password" che di solito appunto permette di non dover riscrivere la password quando uno deve ripetere il logon l'altro è più una questione relativa alla scadenza della sessione, che difficilmente lo si trova come scelta, di solito o cè bisogno di rieffettuare il login oppure viene tutto gestito in automatico senza che l'utente se ne accorge, addirittura alcuni siti senza neanche chiedertelo anche dopo aver chiuso il browser e senza aver messo il flag "ricorda password" ti riconoscono e fanno il logon in automatico, questa è un ulteriore scelta diversa di progettazione.

Andrea Restucci - Web Developer

trinity Profilo | Guru

>si ok son daccordo con te dipende dalle scelte del programmatore,
>io per esempio ho avuto un cliente che mi diceva che tenendo
>il sito aperto quasi tutto il giorno voleva evitare di rifare
>il login ogni volta, ecco quindi la soluzione precedente.
>Per quanto riguarda la sicurezza nelle aziende, sopratutto nelle
>grosse, di solito si utilizza uno screensaver con password, anche
>perchè il problema sta proprio alla base e non riguarda solo
>il browser ma per esempio anche la rete interna aziendale, quindi
>dev'essere bloccato tutto il pc, e poi il malintenzionato si
>potrebbe sedere sempre prima che scadi la sessione o prima che
>si attivi lo screensaver, quindi è prassi consolidata ormai bloccare
>il pc quando si ci alza dalla scrivania.
>Detto questo aggiungo anche che la tua soluzione potrebbe essere
>un esigenza per magari mille altri motivi che non stiamo qui
>ad elencare, quindi è assoluta verità quello che dici.
>
>> ...il ricorda password oppure se vogliamo scrivere il resta sempre collegato
>
>be però sono comportamenti differenti, quello più comunemente
>conosciuto è il "ricorda password" che di solito appunto permette
>di non dover riscrivere la password quando uno deve ripetere
>il logon l'altro è più una questione relativa alla scadenza della
>sessione, che difficilmente lo si trova come scelta, di solito
>o cè bisogno di rieffettuare il login oppure viene tutto gestito
>in automatico senza che l'utente se ne accorge, addirittura alcuni
>siti senza neanche chiedertelo anche dopo aver chiuso il browser
>e senza aver messo il flag "ricorda password" ti riconoscono
>e fanno il logon in automatico, questa è un ulteriore scelta
>diversa di progettazione.

Nel caso di login automatica ossia il cliente digita l'url ed accede direttamente alla pagina allora all'inizio la prima volta si può creare un cookie di autenticazione semmai come hai fatto te e li ci butti dentro le credenziali che devono essere lette nel db e via così....

>Andrea Restucci - Web Developer

Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com
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 !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5