Introducción

APEX tiene incorporado un mecanismo que permite al desarrollador establecer la longitud máxima de una sesión y el tiempo de inactividad máximo de sesión permitido antes de que se termine una sesión.

Duración Máxima de la Sesión en Segundos

Se define cuánto tiempo (en segundos) pueden existir las sesiones y cuánto pueden utilizarlas las aplicaciones en una instancia de Application Express. Este valor se sustituye por los valores de nivel de espacio de trabajo y de nivel de aplicación correspondientes.

  • Podemos introducir un número entero positivo para controlar cuánto tiempo puede existir una sesión.
  • Podemos introducir 0 para que las sesiones existan de forma indefinida.
  • Podemos dejar el valor vacío para volver al valor por defecto de 8 horas (28800 segundos).

La duración de la sesión se puede sustituir por la operación del trabajo de base de datos por hora, que suprime las sesiones de más de 12 horas.

Tiempo Máximo de Inactividad de la Sesión en Segundos

El tiempo de inactividad de sesión es el tiempo que transcurre entre la última solicitud de página y la siguiente. Este valor se sustituye por los valores de nivel de espacio de trabajo y de nivel de aplicación correspondientes.

  • Podemos introducir un número entero positivo para controlar el tiempo de inactividad por defecto para las sesiones que utilizan las aplicaciones en una instancia de Application Express.
  • Podemos definir el valor en 0 para impedir que se realicen comprobaciones de tiempo de inactividad de sesión.
  • Podemos dejar el valor vacío para volver al valor por defecto de 1 hora (3600 segundos).

A Nivel Instancia

Realizamos los siguientes pasos para realizar la configuración:

1) Nos conectamos al espacio de trabajo INTERNAL

2) Hacemos clic en el icono Gestionar Instancia

3) En el recuadro Valores de Instancia, seleccionamos Seguridad

4) En la ficha Timeout de la Sesión encontramos los dos eventos

Los eventos los podemos configurar con los siguientes valores: 1 minuto, 5 minutos, 10 minutos, 30 minutos, 1 hora, 2 horas, 5 horas y 10 horas.

A Nivel Espacio de Trabajo

Realizamos los siguientes pasos para realizar la configuración:

1) Nos conectamos al espacio de trabajo INTERNAL

2) Hacemos clic en el icono Gestionar Espacios de Trabajo

3) En el recuadro Informe de Espacio de Trabajo, seleccionamos Espacios de Trabajo Existentes

4) Seleccionamos el Espacio de Trabajo que queremos configurar

5) En la ficha Timeout de la Sesión, encontramos los dos eventos, el cual podemos configurarlo según nuestras necesidades


A Nivel Aplicación

Realizamos los siguientes pasos para realizar la configuración:

1) Nos conectamos al nuestro Espacio de Trabajo

2) Abrimos la aplicación a la cual queremos configurar el timeout

3) Hacemos clic en el botón Editar Propiedades de Aplicación

4) Seleccionamos la ficha Seguridad

5) Hacemos clic en la ficha Gestión de Sesiones

Por estos dos eventos el usuario puede ser re-direccionado a diferentes URL.

URL con Timeout de Sesión

En los recuadros de la URL podemos introducir una URL opcional para el redireccionamiento cuando se haya excedido la duración máxima de la sesión.

La página de destino de esta URL, si se implementa en Application Express, debe ser una página pública. Un uso común de esta página es informar al usuario de la caducidad de la sesión y presentar un enlace de conexión u otras opciones.

Si no introducimos una URL, los usuarios verán el mensaje "La sesión ha sufrido un timeout" y un enlace a la página inicial de la aplicación. Si se introduce en la URL la variable #LOGOUT_URL#, APEX ejecutará una desconexión, como cuando el usuario hace clic en el enlace de desconexión de la aplicación.

Solo se soportan tres elementos de sustitución en esta URL:

  • &APP_SESSION.
  • &SESSION.
  • &APP_ID.

Debido al propósito concreto de esta URL, no es necesario incluir &APP_SESSION. ni &SESSION. en el enlace.

En este caso tenemos más opciones en lo que se refiere a configurar el tempo: desde 10 segundos a 1 año.

De esta forma podemos gestionar el control del tiempo en la sesión de APEX y el tiempo de inactividad.