Opciones de seguimiento de sesiones

El soporte de sesión HTTP también implica el seguimiento de sesiones. Puede utilizar cookies, volver a escribir el URL o información de SSL (Secure Sockets Layer) para el seguimiento de sesiones.

Rastreo de sesiones con cookies

El valor predeterminado es hacer un rastreo de sesiones con cookies. No se requiere programación específica para hacer un rastreo de sesiones con cookies.

Rastreo de sesiones con reescritura de URL

Una aplicación que utilice reescritura de URL para hacer un rastreo de sesiones debe ajustarse a ciertas directrices de programación. El desarrollador de aplicaciones debe:

  • Programar servlets para codificar URL
  • Suministrar un servlet o archivo JSP (JavaServer Pages) como un punto de entrada a la aplicación.

Para poder utilizar la reescritura de URL, también se debe habilitar en el recurso de gestión de sesiones.

Nota: En algunos casos, los clientes no pueden aceptar cookies. Por lo tanto, no podrá utilizar cookies como mecanismo de rastreo de sesiones. Las aplicaciones pueden utilizar la reescritura de URL como alternativa.

Programar servlets de sesión para codificar URL

Dependiendo de si el servlet está devolviendo los URL al navegador o los está direccionando, incluya el método encodeURL o encodeRedirectURL en el código del servlet. A continuación, se incluyen ejemplos que muestran qué se ha de sustituir en el código del servlet actual.

Reescribir URL para volver al navegador

Suponga que actualmente tiene esta sentencia:

out.println("<a href=\"/store/catalog\">catalog<a>");

Cambie el servlet para llamar al método encodeURL antes de enviar el URL a la corriente de datos de salida:

out.println("<a href=\""");
out.println(response.encodeURL ("/store/catalog"));
out.println("\">catalog</a>"");

Reescribir URL para su redirección

Suponga que actualmente tiene la siguiente sentencia:

response.sendRedirect ("http://myhost/store/catalog");

Cambie el servlet para llamar al método encodeRedirectURL antes de enviar el URL a la corriente de datos de salida:

response.sendRedirect (response.encodeRedirectURL ("http://myhost/store/catalog"));

Los métodos encodeURL y encodeRedirectURL formar parte del objeto HttpServletResponse. Estas llamadas comprueban si se ha configurado la reescritura del URL antes de codificarlo. Si no se ha configurado, las llamadas devuelven el URL original.

También puede configurar el soporte de sesiones para habilitar la reescritura del conmutador de protocolo. Cuando se habilita esta opción, el producto codifica el URL con el ID de sesión para conmutar entre los protocolos HTTP y HTTPS.
Avoid trouble Avoid trouble: Si desea codificar un URL, debe habilitar la propiedad personalizada AlwaysEncodeURL y establecer el valor en true.
Las propiedades de gestión de sesiones, como la configuración de gestión de sesiones, se pueden configurar a nivel de servidor, aplicación o módulo web. Siga los pasos siguientes para establecer las propiedades personalizadas para la gestión de sesiones a nivel de servidor.
  1. En la consola administrativa, pulse Servidores > Tipos de servidor > Servidores de aplicaciones de WebSphere > nombre_servidor > Gestión de sesiones.
  2. En Propiedades adicionales seleccione Propiedades personalizadas.
  3. En la página Propiedades personalizadas, pulse Nueva.
  4. En la página de configuración, especifique la propiedad que desee configurar en el campo Nombre y el valor que desee establecer en el campo Valor.
  5. Pulse Aplicar o Aceptar.
  6. Pulse Guardar en la barra de tareas de la consola para guardar los cambios realizados en la configuración.
  7. Reinicie el servidor.
gotcha

Suministrar un servlet o archivo JSP como un punto de entrada

Es posible que un punto de entrada a una aplicación como, por ejemplo, la pantalla inicial que se presenta, requiera la utilización de sesiones. Sin embargo, si la aplicación en general requiere soporte de sesión (lo que significa que una parte de ella como, por ejemplo, un servlet, requiere soporte de sesión), después de que se cree la sesión todos los URL se codifican para perpetuar el ID de sesión para el servlet (u otro componente de la aplicación) que requiera soporte de sesión.

El ejemplo siguiente muestra cómo puede incorporarse código Java™ en un archivo JSP:

<%
response.encodeURL ("/store/catalog");
%>

Rastreo de sesiones con información SSL (en desuso)

Deprecated feature Deprecated feature: El seguimiento de sesiones utilizando el ID de SSL está en desuso en WebSphere Application Server versión 7.0. Puede configurar el rastreo de sesiones para utilizar cookies o reescritura de URL.depfeat

No se requiere programación específica para hacer un rastreo de sesiones con información de SSL (Secure Sockets Layer).

Para utilizar la información de SSL, active Habilitar rastreo de ID de SSL en la página de propiedades de gestión de sesiones. Puesto que el ID de la sesión SSL se negocia entre el navegador web y el servidor HTTP, este ID no puede sobrevivir un error de servidor HTTP. Sin embargo, si se produce una anomalía en un servidor de aplicaciones, no afectará al ID de sesión de SSL, si existe un servidor HTTP externo entre WebSphere Application Server y el navegador.

El rastreo de SSL está soportado sólo para los servidores IBM® HTTP Server e iPlanet Web Servers. Puede controlar la duración de un ID de sesión SSL configurando opciones en el servidor web. Por ejemplo, en IBM HTTP Server, establezca la variable de configuración SSLV3TIMEOUT de modo que proporcione una duración adecuada para el ID de sesión de SSL. Un intervalo demasiado corto puede provocar la terminación prematura de la sesión. Asimismo, algunos navegadores web podrían tener sus propios temporizadores que afectan a la duración del ID de sesión SSL. Estos navegadores web podrían no dejar el ID de la sesión SSL activo el tiempo suficiente para servir como un mecanismo útil para el rastreo de sesiones. El servidor HTTP interno de WebSphere Application Server también da soporte al rastreo SSL.

Cuando utilice el ID de sesión de SSL como mecanismo de rastreo de sesiones en un entorno clonado, utilice la reescritura de URL o las cookies para mantener la afinidad de la sesión. La cookie o el URL rescrito contiene la información de afinidad de sesiones que permite al servidor web volver a direccionar correctamente un sesión al mismo servidor para cada solicitud.


Icon that indicates the type of topic Reference topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rprs_sesd
File name: rprs_sesd.html