Thread View: es.comp.lenguajes.java
7 messages
7 total messages
Started by Guevonaso
Tue, 09 Jan 2007 09:50
Session caducada o no iniciada
Author: Guevonaso
Date: Tue, 09 Jan 2007 09:50
Date: Tue, 09 Jan 2007 09:50
14 lines
1726 bytes
1726 bytes
Hola, la duda consiste en si es posible distinguir en una aplicación web entre una sesion que ha caducado o que simplemente no se ha iniciado. En el control de acceso verifico si un usuario tiene en la sesion un login valido, si no es así vuelvo con un mensaje de "tienes que identificarte" a la pantalla de login. Ahora me han pedido que intente que se diferencie entre un usuario que intenta acceder sin validarse y otro que ha perdido la sesion tras los 30 minutos sin actividad para mostrar mensajes diferentes. ¿sabeis si es posible distinguir estos casos? Gracias.
Re: Session caducada o no iniciada
Author: pyn
Date: Tue, 09 Jan 2007 13:45
Date: Tue, 09 Jan 2007 13:45
9 lines
1477 bytes
1477 bytes
"Guevonaso" <fernando.rosado@gmail.com> escribi� en el mensaje news:1168336248.361481.60750@i15g2000cwa.googlegroups.com... Hola, la duda consiste en si es posible distinguir en una aplicaci�n web entre una sesion que ha caducado o que simplemente no se ha iniciado. M�todo isNew() es tu m�todo.
Re: Session caducada o no iniciada
Author: Guevonaso
Date: Wed, 10 Jan 2007 07:47
Date: Wed, 10 Jan 2007 07:47
14 lines
1766 bytes
1766 bytes
pyn ha escrito: > "Guevonaso" <fernando.rosado@gmail.com> escribió en el mensaje > news:1168336248.361481.60750@i15g2000cwa.googlegroups.com... > Hola, la duda consiste en si es posible distinguir en una aplicación > web entre una sesion que ha caducado o que simplemente no se ha > iniciado. > > > Método isNew() es tu método. Siempre me devuelve true, independientemente de que el usuario no se haya identificado o se haya caducado la sesion.
Re: Session caducada o no iniciada
Author: Flint
Date: Wed, 10 Jan 2007 17:53
Date: Wed, 10 Jan 2007 17:53
50 lines
2760 bytes
2760 bytes
Guevonaso escribi�: > pyn ha escrito: > >> "Guevonaso" <fernando.rosado@gmail.com> escribi� en el mensaje >> news:1168336248.361481.60750@i15g2000cwa.googlegroups.com... >> Hola, la duda consiste en si es posible distinguir en una aplicaci�n >> web entre una sesion que ha caducado o que simplemente no se ha >> iniciado. >> >> >> M�todo isNew() es tu m�todo. > > Siempre me devuelve true, independientemente de que el usuario no se > haya identificado o se haya caducado la sesion. > Bien, veamos el tema de las sesiones... El siguiente c�digo: HttpSession session = request.getSession(true); devuelve una sesi�n. Si existe, devuelve la existente (e isNew() devolver�a false). Si no existe, crea una sesi�n y la devuelve (y entonces, isNew() devuelve true). El caso es que, tanto si la sesi�n ha caducado como si no se ha iniciado, se debe crear una nueva y, por tanto, isNew() siempre devolver� true. �C�mo podemos entonces saber si un usuario se tiene que validar o le ha caducado la sesi�n? Ahora mismo no se me ocurre ning�n mecanismo impl�cito para saber eso. Una idea que se me ocurre as� de pronto (sin pensarlo mucho) es mantener una lista de usuarios en el contexto de aplicaci�n, compuesta de un peque�o bean que tenga un atributo que puede llamarse sesionActiva, por ejemplo. Cuando el usuario haga login de manera normal, se pone a true. Y cuando haga logout, se pone a false. En caso de que intente logarse y el atributo est� a true, entonces es que ha perdido la sesi�n, pero no a trav�s del logout normal que la hubiera puesto a false. Y as� sabr�as si ha perdido la sesi�n porque ha salido, o porque le ha caducado. A ver si te vale... -- Un saludo, Flint Gijon Fortuna (773926) www.fibha.com
Re: Session caducada o no iniciada
Author: Guevonaso
Date: Thu, 18 Jan 2007 08:52
Date: Thu, 18 Jan 2007 08:52
71 lines
4001 bytes
4001 bytes
Flint ha escrito: > Guevonaso escribió: > > pyn ha escrito: > > > >> "Guevonaso" <fernando.rosado@gmail.com> escribió en el mensaje > >> news:1168336248.361481.60750@i15g2000cwa.googlegroups.com... > >> Hola, la duda consiste en si es posible distinguir en una aplicación > >> web entre una sesion que ha caducado o que simplemente no se ha > >> iniciado. > >> > >> > >> Método isNew() es tu método. > > > > Siempre me devuelve true, independientemente de que el usuario no se > > haya identificado o se haya caducado la sesion. > > > > Bien, veamos el tema de las sesiones... > > El siguiente código: > > HttpSession session = request.getSession(true); > > devuelve una sesión. Si existe, devuelve la existente (e isNew() > devolvería false). Si no existe, crea una sesión y la devuelve (y > entonces, isNew() devuelve true). > > El caso es que, tanto si la sesión ha caducado como si no se ha > iniciado, se debe crear una nueva y, por tanto, isNew() siempre > devolverá true. > > > ¿Cómo podemos entonces saber si un usuario se tiene que validar o le ha > caducado la sesión? > > Ahora mismo no se me ocurre ningún mecanismo implícito para saber eso. > Una idea que se me ocurre así de pronto (sin pensarlo mucho) es mantener > una lista de usuarios en el contexto de aplicación, compuesta de un > pequeño bean que tenga un atributo que puede llamarse sesionActiva, por > ejemplo. Cuando el usuario haga login de manera normal, se pone a true. > Y cuando haga logout, se pone a false. En caso de que intente logarse y > el atributo esté a true, entonces es que ha perdido la sesión, pero no a > través del logout normal que la hubiera puesto a false. Y así sabrías si > ha perdido la sesión porque ha salido, o porque le ha caducado. > > A ver si te vale... > Muchas gracias, al final la solucion ha pasado por convecer al cliente que diferenciar eso es una tonteria innecesaria además de muy costosto. Gracias por la solución, la verdad es que es buena. Se me habia ocurrido también la opcion de usar Cookies para ir guardando los tiempos de las operaciones del usuario, si el usuario tiene cookie y el tiempo es "razoblemente" cercano es que ha perdido la sesion. El problema es que si el usuario cierrra y abre el navegador el mensaje es que la sesion ha caducado, pero no es cierto... mas o menos lo mismo que ocurre con tu idea. En cualquier caso, gracias por la idea. > > -- > Un saludo, Flint > Gijon Fortuna (773926) www.fibha.com
Re: Session caducada o no iniciada
Author: Guevonaso
Date: Thu, 18 Jan 2007 08:53
Date: Thu, 18 Jan 2007 08:53
71 lines
3992 bytes
3992 bytes
Flint ha escrito: > Guevonaso escribió: > > pyn ha escrito: > > > >> "Guevonaso" <fernando.rosado@gmail.com> escribió en el mensaje > >> news:1168336248.361481.60750@i15g2000cwa.googlegroups.com... > >> Hola, la duda consiste en si es posible distinguir en una aplicación > >> web entre una sesion que ha caducado o que simplemente no se ha > >> iniciado. > >> > >> > >> Método isNew() es tu método. > > > > Siempre me devuelve true, independientemente de que el usuario no se > > haya identificado o se haya caducado la sesion. > > > > Bien, veamos el tema de las sesiones... > > El siguiente código: > > HttpSession session = request.getSession(true); > > devuelve una sesión. Si existe, devuelve la existente (e isNew() > devolvería false). Si no existe, crea una sesión y la devuelve (y > entonces, isNew() devuelve true). > > El caso es que, tanto si la sesión ha caducado como si no se ha > iniciado, se debe crear una nueva y, por tanto, isNew() siempre > devolverá true. > > > ¿Cómo podemos entonces saber si un usuario se tiene que validar o le ha > caducado la sesión? > > Ahora mismo no se me ocurre ningún mecanismo implícito para saber eso. > Una idea que se me ocurre así de pronto (sin pensarlo mucho) es mantener > una lista de usuarios en el contexto de aplicación, compuesta de un > pequeño bean que tenga un atributo que puede llamarse sesionActiva, por > ejemplo. Cuando el usuario haga login de manera normal, se pone a true. > Y cuando haga logout, se pone a false. En caso de que intente logarse y > el atributo esté a true, entonces es que ha perdido la sesión, pero no a > través del logout normal que la hubiera puesto a false. Y así sabrías si > ha perdido la sesión porque ha salido, o porque le ha caducado. > > A ver si te vale... > Muchas gracias, al final la solucion ha pasado por convecer al cliente que diferenciar eso es una tonteria innecesaria además de muy costosto. Gracias por la solución, la verdad es que es buena. Se me habia ocurrido también la opcion de usar Cookies para ir guardando los tiempos de las operaciones del usuario, si el usuario tiene cookie y el tiempo es "razoblemente" cercano es que ha perdido la sesion. El problema es que si el usuario cierrra y abre el navegador el mensaje es que la sesion ha caducado, pero no es cierto... mas o menos lo mismo que ocurre con tu idea. En cualquier caso, gracias por la idea. Fernando > > -- > Un saludo, Flint > Gijon Fortuna (773926) www.fibha.com
Re: Session caducada o no iniciada
Author: Guevonaso
Date: Thu, 18 Jan 2007 08:53
Date: Thu, 18 Jan 2007 08:53
71 lines
3992 bytes
3992 bytes
Flint ha escrito: > Guevonaso escribió: > > pyn ha escrito: > > > >> "Guevonaso" <fernando.rosado@gmail.com> escribió en el mensaje > >> news:1168336248.361481.60750@i15g2000cwa.googlegroups.com... > >> Hola, la duda consiste en si es posible distinguir en una aplicación > >> web entre una sesion que ha caducado o que simplemente no se ha > >> iniciado. > >> > >> > >> Método isNew() es tu método. > > > > Siempre me devuelve true, independientemente de que el usuario no se > > haya identificado o se haya caducado la sesion. > > > > Bien, veamos el tema de las sesiones... > > El siguiente código: > > HttpSession session = request.getSession(true); > > devuelve una sesión. Si existe, devuelve la existente (e isNew() > devolvería false). Si no existe, crea una sesión y la devuelve (y > entonces, isNew() devuelve true). > > El caso es que, tanto si la sesión ha caducado como si no se ha > iniciado, se debe crear una nueva y, por tanto, isNew() siempre > devolverá true. > > > ¿Cómo podemos entonces saber si un usuario se tiene que validar o le ha > caducado la sesión? > > Ahora mismo no se me ocurre ningún mecanismo implícito para saber eso. > Una idea que se me ocurre así de pronto (sin pensarlo mucho) es mantener > una lista de usuarios en el contexto de aplicación, compuesta de un > pequeño bean que tenga un atributo que puede llamarse sesionActiva, por > ejemplo. Cuando el usuario haga login de manera normal, se pone a true. > Y cuando haga logout, se pone a false. En caso de que intente logarse y > el atributo esté a true, entonces es que ha perdido la sesión, pero no a > través del logout normal que la hubiera puesto a false. Y así sabrías si > ha perdido la sesión porque ha salido, o porque le ha caducado. > > A ver si te vale... > Muchas gracias, al final la solucion ha pasado por convecer al cliente que diferenciar eso es una tonteria innecesaria además de muy costosto. Gracias por la solución, la verdad es que es buena. Se me habia ocurrido también la opcion de usar Cookies para ir guardando los tiempos de las operaciones del usuario, si el usuario tiene cookie y el tiempo es "razoblemente" cercano es que ha perdido la sesion. El problema es que si el usuario cierrra y abre el navegador el mensaje es que la sesion ha caducado, pero no es cierto... mas o menos lo mismo que ocurre con tu idea. En cualquier caso, gracias por la idea. Fernando > > -- > Un saludo, Flint > Gijon Fortuna (773926) www.fibha.com
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads