Qual è la soluzione migliore per la ASP.NET forme di autenticazione di timeout quando utilizzando il carattere jolly di mappatura?

StackOverflow https://stackoverflow.com/questions/57739

Domanda

Il mio team è al lavoro su una merda di sito web e la maggior parte delle pagine sono ancora in ASP classico.Tuttavia, abbiamo recentemente migrato a forme di autenticazione utilizzando ASP.NET e jolly di mappatura.Tutto funziona sorprendentemente bene, tranne per una cosa:gli utenti registrati sono i tempi troppo velocemente.Dopo aver guardato nei log sembra persone sono in timeout esattamente dopo 20 minuti (che è specificato timeout per inattività).

Così, la nostra ipotesi è che l'ASP classico pagine non sono di sgancio, qualunque sia il meccanismo, nelle forme framework di autenticazione che consente di reimpostare il timer di inattività.Ho cercato su google e leggere il mapping di caratteri jolly post by il Grande Gu, ma ancora non riesco a trovare nessuno che avendo questo problema.Quindi, 1) avete mai visto questo problema?e 2) qual'è la soluzione migliore?(altro che manualmente l'immissione di un frame nascosto in ogni janky pagina ASP che carica un muto .NET pagina in background)

Aggiornamento: slidingExpiration è impostato per vero

Anche:Non siamo in grado di perpetua sessioni perché abbiamo bisogno dell'applicazione di un time-out dopo 20 minuti di inattività.Inoltre, questa terribile sito è stato scritto in modo che l'interfaccia è di solito memorizzato nella pagina.Non c'è semplice pezzo di codice per l'interfaccia mi potrebbe scivolare il codice JavaScript nel.Abbiamo cercato di mettere un po js in un file di inclusione che è stato chiamato da circa l ' 80% delle nostre pagine, ma è causato alcuni problemi strani con il download del file buffer in modo che possiamo avere per cercare una rotta diversa.Grazie.

È stato utile?

Soluzione

Creare un perpetuo sessione.

Essenzialmente si finisce emissione di un po ' di JavaScript e un tag di immagine in una pagina master o di navigazione, gli utenti di controlli (qualunque cosa si sta utilizzando per la navigazione coerente).Questo JavaScript su alcuni intervallo cambia l'origine del tag immagine di un gestore http endpoint (alcuni .aspx, .ashx) che restituisce un 1x1 pix "clear gif" come risposta per l'immagine.La richiesta costante assicura che in idle pagine terrà la sessione di vita.

Come lungo come una finestra del browser è aperto alla pagina del tuo ASP.NET sessione scade mai.

Spesso il JavaScript virare su un numero casuale per la richiesta in modo che il browser non memorizzare nella cache la richiesta.

Un decente procedura dettagliata è disponibile qui.

Altri suggerimenti

Io parto dal presupposto che hai creato manualmente i cookie, nel qual caso il valore di timeout in codice è probabilmente sovrascrivere il valore di timeout nella configurazione.

Primo, se è possibile (e che probabilmente non lo è) non creare il cookie manualmente, vi farà risparmiare non solo questo mal di testa, ma decine di altri.

Se è necessario creare manualmente i cookie, assicurarsi che il timeout si sta utilizzando è in realtà la lettura del valore di timeout impostato nel file di configurazione e che la scadenza variabile è impostata su true (che hai detto che era).

Detto questo, abbiamo ancora occasionale strani problemi di timeout quando i cookie vengono creati manualmente.Dove lavoro io abbiamo implementato una soluzione che ha permesso il cookie creato automaticamente e il timeout non è più un problema;tuttavia, esso non creare altri problemi e siamo stati costretti a tornare indietro.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top