control de sesiones

Upload: carmelo

Post on 30-May-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/9/2019 Control de Sesiones

    1/26

    Control de sesiones

  • 8/9/2019 Control de Sesiones

    2/26

    Control de sesiones

    Una sesion HTTP es una serie de interacciones

    entre un nico cliente HTTP y un servidor Web

    como Tomcat La especificacin servlet incluye un objeto

    HttpSession que almacena temporalmente la

    info sobre un usuario.

    carritos compra

    sitios que requieren un registro

  • 8/9/2019 Control de Sesiones

    3/26

    las sesiones se pueden configurar para

    caducar tras un cierto tiempo de inactividad.

    tras caducar, se considera la sesin comoinvlida

  • 8/9/2019 Control de Sesiones

    4/26

    Tomcat tiene administradores de sesin:

    utlizan el elemento Store para guardar y cargar

    sesiones (es una opcin)

    los administradores de sesiones implementan un

    tipo de almacenamiento persistente para sus

    sesiones, independientemente de que utilicen o

    no la interfz de almacenamiento

  • 8/9/2019 Control de Sesiones

    5/26

    para especificar una implementacin de

    administracin, es como especificar un reino

  • 8/9/2019 Control de Sesiones

    6/26

    casi todo el control sobre las sesiones se

    realiza con los objetos Manager y Store, y

    otras se pueden configurar en el fichero

    web.xml

  • 8/9/2019 Control de Sesiones

    7/26

    Persistencia de la sesin

    consiste en guardar las sesiones HTTP en un

    disco al cerrar el servidor, y volver a cargarlas

    cuando se reincia.

    si se necesita un lugar permanente para

    almacenar la info,

    en base de datos relacional en directorio LDAP

    en su propio disco de almacenamiento

  • 8/9/2019 Control de Sesiones

    8/26

    StandardManager

    el gestor utilizado por defecto que se utiliza

    cuando ningun est configurado

    explcitamente en el archivo server.xml es

    StandardManager

    no utiliza ningn Store

    tiene su propio codigo para conservar todas

    las sesiones en el sistema de archivo y lo hace

    slo cuando Tomcat se cierra.

  • 8/9/2019 Control de Sesiones

    9/26

    serializa las sesiones en un fichero

    SESSIONS.ser en el directorio de trabajo de la

    aplicacin Web

    (/work/Catalina/hostname/Webapp-name/

  • 8/9/2019 Control de Sesiones

    10/26

    StandardManager vuelve a cargar esas

    sesiones desde el fichero cuando Tomcat se

    reinicia y luego elimina el fichero.

    si cierre inesperado, no da tiempo a guardar

  • 8/9/2019 Control de Sesiones

    11/26

    Atributos de StandardManager

  • 8/9/2019 Control de Sesiones

    12/26

  • 8/9/2019 Control de Sesiones

    13/26

    PersistentManager

    otro gestor que se puede usar es

    PersistentManager

    almacena sesiones en un almacen desesiones y as ofrece persistenca en caso de

    fallos inesperados.

  • 8/9/2019 Control de Sesiones

    14/26

    la clase

    org.apache.catalina.session.PersistenManager

    implmenta una gestin de persistencia total.

    debe acompaarse de un elemento Store que

    indique dnde guardar las sesiones,

    ubicaciones soportadas y bases de datos JDBC

  • 8/9/2019 Control de Sesiones

    15/26

  • 8/9/2019 Control de Sesiones

    16/26

    solo vienen dos implementaciones para Store

    fileStore

    JDBCStore

    almacenan info sobre la sesion y recuerpan la info

    del sistemas de archivos y de la base de datos

    relacional

  • 8/9/2019 Control de Sesiones

    17/26

    como el gestor StandarManager no utiliza

    Stores, el nico gestor que viene con Tomcat

    para usar FileStore o JDBCSotre es

    PersistenManager

  • 8/9/2019 Control de Sesiones

    18/26

    FileStore para guardar sesiones

    en el fichero server.xml

  • 8/9/2019 Control de Sesiones

    19/26

    en directorio que exista y con permisos de

    escritura y escritura.

  • 8/9/2019 Control de Sesiones

    20/26

    FileStore guarda cada sesion en un fichero

    llamado session ID.session

    no eliminar estas sesiones manualmente

    cuando Tomcat se est ejecutando pq

    FileStore puede intenar cargar el fichero.

  • 8/9/2019 Control de Sesiones

    21/26

    Uso JDBC para guardar sesiones

    Ejemplo de cmo configurar

    PersistenManaget para usar JDBCStore en un

    fichero server.xml

  • 8/9/2019 Control de Sesiones

    22/26

  • 8/9/2019 Control de Sesiones

    23/26

    JDBCStore tiene que poder entrar a la base de

    datos y poder leer y escribir en la tabla sesin

    que debemos crear en la base de datos antes

    de iniciar Tomcat

  • 8/9/2019 Control de Sesiones

    24/26

    Interfaz de entrada comun (CGI)

    Tomcat es un contenedor de servlets y paginas

    JSP pero tb tiene capacidades de un servidor

    Web tradicional.

    soportar la interfaz de entrada comun

    los servidores Web tradicionales ofrecen medios

    para ejecutar programas externos en respuesta a

    una peticin del navegador

  • 8/9/2019 Control de Sesiones

    25/26

    CGI es comn pq puede invocar programas en

    cualquier lenguaje de programacin

    no es habitual ejecutar aplicaciones Java comoCGI por la carga adicional del arranque, que se

    elimina usando servlets, pero en pyton, perl

  • 8/9/2019 Control de Sesiones

    26/26

    para habilitar el servlet CGI en Tomcat

    .en server.xml modificar la definicin del servidor

    llamado cgi

    modificar l asignacin del servlet a servlet CGI

    colocar las secuencias CGI bajo el directorio Web-

    INF / cgi