Article View: es.comp.lenguajes.java
Article #700Re: Session caducada o no iniciada
From: 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
Technical Details
Message-ID:
<1169110384.374165.160420@m58g2000cwm.googlegroups.com>Path:
arc1-ca.pugleaf.net!g2news2.google.com!postnews.google.com!m58g2000cwm.googlegroups.com!not-for-mailReferences:
<1168336248.361481.60750@i15g2000cwa.googlegroups.com> <45a39c74$1_3@filemon1.isp.telecable.es> <1168415229.489315.281810@k58g2000hse.googlegroups.com> <50kni2F1gg90uU1@mid.individual.net>Show Full Headers
Complete Article Headers
X-Google-Thread: 1116f3,ca13591e632a97de X-Google-Attributes: gid1116f3,public X-Google-Language: SPANISH,ASCII Path: arc1-ca.pugleaf.net!g2news2.google.com!postnews.google.com!m58g2000cwm.googlegroups.com!not-for-mail From: "Guevonaso" <fernando.rosado@gmail.com> Newsgroups: es.comp.lenguajes.java Subject: Re: Session caducada o no iniciada Date: 18 Jan 2007 00:53:04 -0800 Organization: http://groups.google.com Lines: 72 Message-ID: <1169110384.374165.160420@m58g2000cwm.googlegroups.com> References: <1168336248.361481.60750@i15g2000cwa.googlegroups.com> <45a39c74$1_3@filemon1.isp.telecable.es> <1168415229.489315.281810@k58g2000hse.googlegroups.com> <50kni2F1gg90uU1@mid.individual.net> NNTP-Posting-Host: 80.34.137.78 Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable X-Trace: posting.google.com 1169110399 6982 127.0.0.1 (18 Jan 2007 08:53:19 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Thu, 18 Jan 2007 08:53:19 +0000 (UTC) In-Reply-To: <50kni2F1gg90uU1@mid.individual.net> User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; InfoPath.1; .NET CLR 2.0.50727),gzip(gfe),gzip(gfe) Complaints-To: groups-abuse@google.com Injection-Info: m58g2000cwm.googlegroups.com; posting-host=80.34.137.78; posting-account=WICUow0AAAC-EsXMMMKn5jFCqzRetOQB