09/07/2009, 09:47
|
| | | Fecha de Ingreso: junio-2009
Mensajes: 91
Antigüedad: 15 años, 6 meses Puntos: 2 | |
Respuesta: Manejo de sessiones web Cita: Tener una lista en memoria con todos los usuarios cargados, PERSONALMENTE, me parece un poco redundante (sin desmerecer los comentarios anteriores). Confio plenamente en la opción que te da erlolialo. Yo desarrollé muchas aplicaciones web, y la solución que el te plantea, es muy similar a la que yo implementé en todos ellos. Si bien yo no uso JSP, lo hacía con Servlets. Entonces, checkeaba si estaba logueado, Si lo esta muestro la LogInView, si no, cargo la View que corresponda al request recibido. Y todos los Servlet extienden del servlet abstracto que contiene la lógica de esta, de mostrar una view u otra según corresponda.
En cuanto a la lógica para verificar si hay sesión abierta o no, hacía lo siguiente.
Al recibir el user y pass del logIn, checkeo, si estan OK, genero un hash, se lo pongo como cookie, y en una session que tiene de nombre el mismo hash, guardo el System.currentTimeMilis actual. Cada vez que recibo un request, obtengo el hash de la cookie, y llamo a la session por su nombre con el mismo hash. Si la session existe, todo ok. Si no existe, muestro la pagina de login. Si la cookie no existe, también muestro la página de logIn, y si pasó una hora de antiguedad de la session, le renueva el hash. Si pasó mas de una hora y media, lo hago logguearse de nuevo.
Entonces la session dura hasta que se cierre el browser, o bien, tras una hora y media de inactividad.
Desconozco la seguridad que debes implementar en tu sistema, pero esta es una buena opción que se aplica bastante en aplicaciones bussiness
Suerte! Acabo de dar esta respuesta en otro post. Además de esto, podrías guardar en la session, en que aplicación se loggueo, y crear cookies de diferente nombre para cada logIn, que por ejemplo se llame <APP_NAME>SessionCookie
Suerte! |