2011-12-15 25 views
5

Form kimlik doğrulaması kullanan bir ASP.NET MVC uygulamasına sahibim.Kalıcı Kimlik Doğrulama Sona Ermesi

FormsAuthentication.SetAuthCookie(username, true); 

Benim web.config içerir:: İşte Yetkilendirme jetonu oluşturmak kod satırı var true ayarlandığı

<system.web> 
    <machineKey validationKey="{unique key}" decryptionKey="{unique key}" validation="SHA1" decryption="AES" /> 
    <authentication mode="Forms"> 
    <forms loginUrl="~/account/" timeout="2880" /> 
    </authentication> 
    ... 
</system.web> 
<location path="my"> 
    <system.web> 
    <authorization> 
     <deny users="?" /> 
    </authorization> 
    </system.web> 
</location> 

kalıcı çerez için parametre rağmen benim kullanıcılar sonra yapılıyor bir kaç gün aktif değil.

Uygulama, AppHarbor'a dağıtıldı, ancak özel bir sunucuda barındırıldığında aynı davranışı yaşadım.

Kullanıcıların aralıksız olarak çıkış yapmasına neden olan eksik şey nedir?

cevap

3

Zamanaşımınız 2880 dakikadır, bu 48 saattir?

zaman aşımı form kimlik doğrulama oturumu için sınırlı bir ömrü belirtmek için kullanılır. Varsayılan değer 30 dakikadır. Kalıcı form kimlik doğrulama tanımlama bilgisi verilirse, kalıcı çerezin ömrünü ayarlamak için zaman aşımı özelliği de kullanılır.

http://msdn.microsoft.com/en-us/library/ff647070.aspx

+0

Ah, ASP.NET 1.1, zaman aşımı kalıcı çerezler için göz ardı edildi, ancak 2.0 başlayarak, çok kalıcı tanımlama amaçlı kullanıldığını görüyoruz. Duh. –

+0

Zaman aşımı 5259600 (60 dakika/saat * 24 saat/gün * 365.25 gün/yıl * 10 yıl) olarak değiştiriyorum. –

+6

Bunun yeterince uzun olduğundan emin misin? –

İlgili konular