2011-12-15 18 views
5

フォーム認証を使用するASP.NET MVCアプリケーションがあります。ここで私は認証トークンを作成するコード行です:私のweb.configファイルが含まれてい永続認証トークンの期限が切れます

FormsAuthentication.SetAuthCookie(username, true); 

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

をtrueに設定されている永続的なCookieのパラメータにもかかわらず、私のユーザーは、後にログアウトします活動のない数日。

Appは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のために使われていることがわかります。ダー。 –

+0

タイムアウトを5259600(60分/時間* 24時間/日* 365.25日/年* 10年)に変更しています。 –

+6

あなたはそれが十分に長いと確信していますか? –

関連する問題