2009-11-02 9 views
9

Utilizzando il modello MVC ASP.NET predefinito, non riesco a capire come aumentare il timeout di FormsAuthentication. Sembra usare sempre 30 minuti.ASP.NET MVC FormsAuthentication Il timeout del cookie non può essere aumentato

Ho seguito la raccomandazione di Scott Gu da this blog post, ma non sembra fare la differenza. Qualcuno ha un suggerimento?

Il suo suggerimento è stato quello di impostare il valore di timeout nel file web.config:

<system.web> 
    <authentication mode="Forms"> 
      <forms timeout="2880"/> 
    </authentication> 
</system.web> 

risposta

8

Il mio problema si verificava solo nel mio ambiente di produzione presso il mio host web.

Ho trovato this link e generato una chiave macchina da inserire in web.config. Una volta fatto ciò, il valore di timeout ha avuto effetto.

0

Assicurarsi che si sta impostando questo nel file ~/web.config e non in ~/Vista/Web .config file. Inoltre, 50 milioni di minuti sono ca. 100 anni, che potrebbero causare un overflow legato alla data nel browser. Prova a utilizzare un numero più ragionevole come 2 - 3 anni (1,5 milioni di minuti).

+0

Quelli sono buoni suggerimenti. Tuttavia, in realtà non stavo usando il grande valore di timeout. Avevo impostato qualcosa di più ragionevole come 2 giorni. Per quanto riguarda la posizione di web.config, ho le impostazioni nel file appropriato. Credo che l'impostazione esista di default nel modello MVC ASP.NET, quindi non l'ho spostato. – YeahStu

2

Ho avuto lo stesso problema e l'aggiunta di un MachineKey personalizzato con un ValidationKey a web.config ha risolto il problema. Sembra che influenzi gli host condivisi.

Ho usato questo sito per generare una chiave di computer casuale: http://aspnetresources.com/tools/machineKey

Problemi correlati