2011-12-15 57 views
5

我有一個使用表單身份驗證的ASP.NET MVC應用程序。這裏就是我創建了身份驗證令牌的代碼行:持久性驗證令牌過期

FormsAuthentication.SetAuthCookie(username, true); 

我的web.config包含:

<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> 

儘管對持久性cookie中的參數被設置爲true,我得到用戶註銷之後幾天不活動。

該應用程序已部署到AppHarbor,但當它在專用服務器上託管時,我經歷了相同的行爲。

我錯過了什麼,會導致用戶零星註銷?

回答

3

您的超時設置爲2880分鐘,即48小時?

超時用於指定形式認證會話有限的壽命。默認值是30分鐘。如果發佈持久表單身份驗證Cookie,則還會使用timeout屬性來設置持久cookie的生存期。

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

+0

啊,我看到,在ASP.NET 1.1中,超時被用於永久性Cookie忽略不計,但在2.0開始,它是用於永久性Cookie過。咄。 – 2011-12-16 18:56:35