2011-12-15 28 views
5

Tengo una aplicación ASP.NET MVC mediante la autenticación de formularios. Aquí está la línea de código en la que se crea el token de autenticación:persistente de autenticación Token Expira

FormsAuthentication.SetAuthCookie(username, true); 

Mi web.config contiene:

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

A pesar del parámetro para el cookie persistente se define como true, mis usuarios de sesión de usuario después de unos días de inactividad.

La aplicación se implementa en AppHarbor, pero experimentó el mismo comportamiento cuando se aloja en un servidor dedicado.

¿Qué me falta eso sería hacer que los usuarios ser registrados de forma esporádica?

Respuesta

3

Su tiempo de espera se establece en 2.880 minutos, que es de 48 horas?

tiempo de espera se utiliza para especificar un tiempo de vida limitado para la sesión de autenticación de formularios. El valor predeterminado es 30 minutos. Si se emite una cookie de autenticación de formularios persistentes, el atributo de tiempo de espera también se usa para establecer la duración de la cookie persistente.

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

+0

Ah, veo que en ASP.NET 1.1, el tiempo de espera fue ignorado por las cookies persistentes, pero a partir de 2,0, se utiliza para las cookies persistentes también. Duh. –

+0

voy a cambiar el tiempo de espera a 5.259.600 (60 minutos/hora * 24 horas/día * 365,25 días/año * 10 años). –

+6

¿Estás seguro de que es lo suficientemente largo? Teniendo en cuenta que –

Cuestiones relacionadas