2012-01-25 11 views
5

Tengo el siguiente en mi web.config¿Por qué el tiempo de espera de estado de sesión anula el tiempo de espera de autenticación de formularios en mi aplicación MVC3?

<sessionState mode="InProc" 
       timeout="2" 
       cookieless="UseCookies"/> 
<authentication mode="Forms"> 
    <forms 
    loginUrl="~/Account/LogOn" 
    timeout="1" 
    cookieless="UseCookies" /> 
</authentication> 

Por lo que yo entiendo en MVC3 (o en Asp.Net) controles sessionState cuando la sesión del usuario en los tiempos de servidor cabo y los controles de tiempo de espera de autenticación de formularios cuando el usuario se verá obligado a iniciar sesión en el sitio web de nuevo.

Esto no parece ser exactamente cierto: si elimino la sección sessionState de mi web.config, el tiempo de espera en la sección de autenticación es completamente ignorado, parece que acaba el tiempo de espera después de un período de tiempo predeterminado.

De hecho, el tiempo de espera de estado de la sesión parece ser necesario para controlar cuando se agota el tiempo de autenticación. Esto no tiene ningún sentido en absoluto. ¿Alguien puede decirme qué me falta aquí?

Esto está relacionado con this question que pregunté, pero no llegué al fondo de por qué este es el caso.

Respuesta

4

El tiempo de espera de la sesión es independiente del tiempo de espera de autenticación de formularios.

Usted no dio detalles sobre cómo se creó su billete, así que aquí están las peculiaridades más comunes que pueden afectar a sus observaciones:

  1. Si la instancia del billete de autenticación a sí mismo, entonces el ajuste de tiempo de espera en la archivo de configuración no tiene efecto.
  2. El tiempo de espera de deslizamiento es un poco raro, el ticket no se extenderá a menos que vuelva a visitarlo en la última mitad de la ventana.

Es posible que desee echa un vistazo a este artículo para obtener una visión general:

http://support.microsoft.com/kb/910443

Cuestiones relacionadas