Creo que entiendo la diferencia entre la "sesión" de ASP.NET y la "autenticación de formularios". La sesión se utiliza básicamente para almacenar información específica de la sesión de ese usuario (tal vez el estado de un filtro de búsqueda), y la autenticación de formularios se utiliza para recordar que deben tener acceso a ciertas cosas.¿Por qué configurar el tiempo de espera de autenticación de formularios más tiempo que el tiempo de espera de la sesión?
Mi pregunta es, ¿por qué es deseable que los formularios de tiempo de espera de autenticación sean más largos que el tiempo de espera de la sesión? De hecho, de forma predeterminada, web.config establece que el tiempo de espera de autenticación de formularios sea mucho más más largo.
Éstos son los 2 escenarios que veo: tiempos
- de sesión antes de las formas de autenticación hace. El usuario pierde cosas como los filtros de búsqueda y, aunque todavía puede ver páginas seguras, las cosas pueden parecer diferentes y es posible que se restablezcan varias cosas. Además, el desarrollador tiene que preocuparse de que Session se vuelva
null
cada vez que lo use. - La autenticación de los formularios expira antes de que la sesión lo haga. El usuario debe volver a ingresar el nombre de usuario y la contraseña, pero vuelve a la página en la que se encontraba y con la información de la sesión intacta (a menos que también haya agotado el tiempo de espera). El desarrollador solo tiene que preocuparse de que Session sea
null
en un solo lugar, al iniciar sesión, y puede inicializarlo allí si es necesario.
¿Por qué el escenario 1) sería más deseable? ¿Me estoy perdiendo de algo?
Vale la pena señalar además que es una muy buena idea hacer * todo * acceso de 'sesión' en una clase en la aplicación web, y hacer que la clase siempre verifique si 'Session' es nula y reiniciar si es necesario . – Jez