🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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
#633
Author: Guevonaso
Date: Tue, 09 Jan 2007 09:50
14 lines
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
#635
Author: pyn
Date: Tue, 09 Jan 2007 13:45
9 lines
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
#636
Author: Guevonaso
Date: Wed, 10 Jan 2007 07:47
14 lines
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
#637
Author: Flint
Date: Wed, 10 Jan 2007 17:53
50 lines
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
#699
Author: Guevonaso
Date: Thu, 18 Jan 2007 08:52
71 lines
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
#698
Author: Guevonaso
Date: Thu, 18 Jan 2007 08:53
71 lines
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
#700
Author: Guevonaso
Date: Thu, 18 Jan 2007 08:53
71 lines
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