SlideShare a Scribd company logo
1 of 22
Download to read offline
Auditoría en BD de las sesiones web




                                                                                    Bernabé Nicolás
                                                                                    García


© 2009. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Contenido


1.- Presentación del problema
2.- Contextos
3.- Solución




© 2009. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Presentación del problema


    Auditoría Cliente servidor




© 2009. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Presentación del problema


    Auditoría Web




© 2009. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Presentación del problema


    Trigger base de datos




© 2009. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Contextos

http://www.um.es/atica/sql---contextos

       Un contexto Oracle (o contexto de aplicación o también namespace), es algo así como
una agrupación de variables globales. Oracle permite crear contextos (con el privilegio
CREATE ANY CONTEXT), y dentro de cada contexto se pueden definir atributos (similares a
variables globales), de forma que una vez que le asigno valor a un atributo lo tendré disponible
en cualquier momento dentro de la misma sesión (incluso entre sesiones si defino el
contexto como global). Otra sesión puede tener un valor diferente para el mismo atributo
anterior.


Para crear un contexto, primero tengo que crear un paquete que me permita definir atributos
para dicho contexto (proporcionando seguridad a la citada definición de atributos); de modo
que no puedo definir atributos en un contexto ejecutando directamente
DBMS_SESSION.SET_CONTEXT (obtendría un error "ORA-01031 Privilegios Insuficientes"),
sino que tengo que hacerlo desde el paquete del contexto, por ejemplo:



SQL> create context ctx_prueba using pkg_ctx_prueba ACCESSED GLOBALLY;;
Context created.



© 2009. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Contextos



     Paquete de base de datos para la gestión de contextos




    © 2009. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Solución




    Modificaciones en la base de datos:




© 2009. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Solución



     Modificación del Trigger de auditoría




    © 2009. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Solución


    Función f_usuario_auditoria. Varias aplicaciones, cada una
    en un Contexto diferente.




© 2009. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Solución



    Función get_value.




© 2009. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Solución




    Modificaciones en la aplicación Web:




© 2009. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Solución


  
      Establecemos la variable dni del contexto en la
      aplicación Web.




© 2009. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Solución



    Set_client_identifier




© 2009. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Solución


 
      Set_dni




© 2009. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Solución


 
     Obtenemos…




© 2009. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Alternativa Solución (Aún no
                  probada)

  
       En el POM Principal de la aplicación hay que añadir:

       <properties>
               <fundeweb-jpa-
       extend.version>1.2.6.CR1</fundeweb-jpa-
       extend.version>
       </properties>
   
        En la clase ServicioGenericoPao la declaramos como
        clase abstracta:




© 2009. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Alternativa Solución


  
      Le añadimos los siguientes métodos:


      protected DataSource getDataSource() {
        return this.dataSource;
      }




© 2009. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Alternativa Solución


  
       Le añadimos los siguientes métodos:

      /**
            * Metodo utilzado para obtener una conexion del datasource pasado como parametro,
      configurada con los parámetros de
            * identificación de la 'acción' a realizar por un 'usuario' de una 'aplicción'.
            *
            * @param dataSource
            *             -- un DataSource del que se obtiene la conexion.
            * @param action
            *             -- la acción realizada
            * @param application
            *             -- la aplicación donde se realiza la acción
            * @param user
            *             -- el usuario que realiza la acción
            * @return Connection -- una conexion JDBC.
            * @throws SQLException
            *              - si se produce algun error
            */
          protected Connection getConnectionWithClientId(DataSource dataSource, String action,
      String program, String user)
                                                                      throws SQLException {
          return dataSource == null ? null :
      OracleUtils.setClientIdToConnection(dataSource.getConnection(), action,
                                                   program, user);
          }

© 2009. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Alternativa Solución


  
       Le añadimos los siguientes métodos:

      /**
            * Metodo utilzado para obtener una conexion del datasource obtenido mediante el método
      getDataSource(),
            * configurada con los parámetros de identificación de la 'acción' a realizar por un
      'usuario' de una 'aplicción'.
            *
            * @param action
            *             -- la acción realizada
            * @param application
            *             -- la aplicación donde se realiza la acción
            * @param user
            *             -- el usuario que realiza la acción
            * @return Connection -- una conexion JDBC.
            * @throws SQLException
            *              - si se produce algun error
            */
          protected Connection getConnectionWithClientId(String action, String program, String user)
      throws SQLException {
          return getDataSource() == null ? null :
      OracleUtils.setClientIdToConnection(getDataSource().getConnection(), action,
                                                   program, user);
          }




© 2009. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Alternativa Solución


  
      Ahora en las llamadas JDBC tienes que obtener la
      conexión con el método getConnectionWithClientId,
      pasándole los parámetros de la acción, aplicación y
      usuario.


 ATENCION: Este método solo funciona con el driver
 OJDBC de Oracle sin DMS. En el OC4J se esta cargando el
 driver con DMS, por lo que este método no funciona.




© 2009. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Fin




                           Gracias por vuestra atención


                                       ¿Alguna pregunta?




© 2009. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.

More Related Content

Viewers also liked

diapositivas auditoria de sistemas
diapositivas auditoria de sistemasdiapositivas auditoria de sistemas
diapositivas auditoria de sistemasnelsyjazmin
 
Auditoria De La Gestion De Las Tic
Auditoria De La Gestion De Las TicAuditoria De La Gestion De Las Tic
Auditoria De La Gestion De Las Ticdcordova923
 

Viewers also liked (20)

diapositivas auditoria de sistemas
diapositivas auditoria de sistemasdiapositivas auditoria de sistemas
diapositivas auditoria de sistemas
 
Auditoria De La Gestion De Las Tic
Auditoria De La Gestion De Las TicAuditoria De La Gestion De Las Tic
Auditoria De La Gestion De Las Tic
 
En 20 minutos ... jQuery
En 20 minutos ... jQueryEn 20 minutos ... jQuery
En 20 minutos ... jQuery
 
LOGATICA
LOGATICALOGATICA
LOGATICA
 
Notimovil
NotimovilNotimovil
Notimovil
 
MEDEA contada a los alumnos de Grado de Ingeniería Informática
MEDEA contada a los alumnos de Grado de Ingeniería InformáticaMEDEA contada a los alumnos de Grado de Ingeniería Informática
MEDEA contada a los alumnos de Grado de Ingeniería Informática
 
En 20 minutos ... Como se hizo LooWID.com
En 20 minutos ... Como se hizo LooWID.comEn 20 minutos ... Como se hizo LooWID.com
En 20 minutos ... Como se hizo LooWID.com
 
En 20 minutos ... Técnicas SEO - Mejorando la Visibilidad de nuestra Web
En 20 minutos ... Técnicas SEO - Mejorando la Visibilidad de nuestra WebEn 20 minutos ... Técnicas SEO - Mejorando la Visibilidad de nuestra Web
En 20 minutos ... Técnicas SEO - Mejorando la Visibilidad de nuestra Web
 
En 20 minutos ... Tests de Aceptación con Cucumber
En 20 minutos ... Tests de Aceptación con CucumberEn 20 minutos ... Tests de Aceptación con Cucumber
En 20 minutos ... Tests de Aceptación con Cucumber
 
En 20 minutos ... Charla selenium
En 20 minutos ... Charla seleniumEn 20 minutos ... Charla selenium
En 20 minutos ... Charla selenium
 
Pórtico
PórticoPórtico
Pórtico
 
Auditoria y seguridad de ti
Auditoria y seguridad de tiAuditoria y seguridad de ti
Auditoria y seguridad de ti
 
En 20 minutos ... HTML5 + CSS3
En 20 minutos ... HTML5 + CSS3En 20 minutos ... HTML5 + CSS3
En 20 minutos ... HTML5 + CSS3
 
Medea. Metodología de desarrollo en ÁTICA
Medea. Metodología de desarrollo en ÁTICAMedea. Metodología de desarrollo en ÁTICA
Medea. Metodología de desarrollo en ÁTICA
 
En 20 minutos ... Arquitectura Oracle
En 20 minutos ... Arquitectura OracleEn 20 minutos ... Arquitectura Oracle
En 20 minutos ... Arquitectura Oracle
 
En 20 minutos ... jBPM
En 20 minutos ... jBPMEn 20 minutos ... jBPM
En 20 minutos ... jBPM
 
En 20 minutos ... Charla drools
En 20 minutos ... Charla droolsEn 20 minutos ... Charla drools
En 20 minutos ... Charla drools
 
En 20 minutos ... Sonar Qube: cómo de bueno es el código de tu proyecto
En 20 minutos ... Sonar Qube: cómo de bueno es el código de tu proyectoEn 20 minutos ... Sonar Qube: cómo de bueno es el código de tu proyecto
En 20 minutos ... Sonar Qube: cómo de bueno es el código de tu proyecto
 
Experiencia de Usuario (UX)
Experiencia de Usuario (UX)Experiencia de Usuario (UX)
Experiencia de Usuario (UX)
 
En 20 minutos... Buenas Practicas SSL
En 20 minutos... Buenas Practicas SSLEn 20 minutos... Buenas Practicas SSL
En 20 minutos... Buenas Practicas SSL
 

Similar to Auditoria en BD de las Sesiones Web

Cloud computing[11]
Cloud computing[11]Cloud computing[11]
Cloud computing[11]heidymarquez
 
MuleSoft Madrid Meetup #6 slides 22nd April 2021
MuleSoft Madrid Meetup #6 slides 22nd April 2021MuleSoft Madrid Meetup #6 slides 22nd April 2021
MuleSoft Madrid Meetup #6 slides 22nd April 2021Ieva Navickaite
 
Capa de aplicacion
Capa de aplicacionCapa de aplicacion
Capa de aplicacionfillescas
 
Php Bitter Sweet Symfony!
Php Bitter Sweet Symfony!Php Bitter Sweet Symfony!
Php Bitter Sweet Symfony!Ricard Luquero
 
Introdución a aplicaciones web en java
Introdución a aplicaciones web en java Introdución a aplicaciones web en java
Introdución a aplicaciones web en java Rodrigo Zottola Pareja
 
Introducción a la Computacion en la Nube
Introducción a la Computacion en la NubeIntroducción a la Computacion en la Nube
Introducción a la Computacion en la NubeJuan David Pareja Soto
 
Reportes En J Developer Parte 1 Y 2
Reportes En J Developer   Parte 1 Y 2Reportes En J Developer   Parte 1 Y 2
Reportes En J Developer Parte 1 Y 2Steven Gomez
 
Androidpresentacion 090531114810-phpapp02
Androidpresentacion 090531114810-phpapp02Androidpresentacion 090531114810-phpapp02
Androidpresentacion 090531114810-phpapp02MadBlake
 
Aplicaciones n capas en visual.net
Aplicaciones n capas en visual.netAplicaciones n capas en visual.net
Aplicaciones n capas en visual.netLisbeth Ocaña Bueno
 
Curso Fundeweb2 para java desde cero a experto.ppt
Curso Fundeweb2 para java desde cero a experto.pptCurso Fundeweb2 para java desde cero a experto.ppt
Curso Fundeweb2 para java desde cero a experto.pptRolitoChc1
 

Similar to Auditoria en BD de las Sesiones Web (20)

Ado net certificacion 2013
Ado net certificacion 2013Ado net certificacion 2013
Ado net certificacion 2013
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Cloud computing[11]
Cloud computing[11]Cloud computing[11]
Cloud computing[11]
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Web API ASP. NET XAMARIN - Luis Fernando Aguas
Web API ASP. NET XAMARIN - Luis Fernando AguasWeb API ASP. NET XAMARIN - Luis Fernando Aguas
Web API ASP. NET XAMARIN - Luis Fernando Aguas
 
Taller 4 - Teleinformatica
Taller 4 - TeleinformaticaTaller 4 - Teleinformatica
Taller 4 - Teleinformatica
 
Base de Datos Movil
Base de Datos MovilBase de Datos Movil
Base de Datos Movil
 
MuleSoft Madrid Meetup #6 slides 22nd April 2021
MuleSoft Madrid Meetup #6 slides 22nd April 2021MuleSoft Madrid Meetup #6 slides 22nd April 2021
MuleSoft Madrid Meetup #6 slides 22nd April 2021
 
Android
AndroidAndroid
Android
 
Capa de aplicacion
Capa de aplicacionCapa de aplicacion
Capa de aplicacion
 
Php Bitter Sweet Symfony!
Php Bitter Sweet Symfony!Php Bitter Sweet Symfony!
Php Bitter Sweet Symfony!
 
Introdución a aplicaciones web en java
Introdución a aplicaciones web en java Introdución a aplicaciones web en java
Introdución a aplicaciones web en java
 
Introducción a la Computacion en la Nube
Introducción a la Computacion en la NubeIntroducción a la Computacion en la Nube
Introducción a la Computacion en la Nube
 
Jdbc
JdbcJdbc
Jdbc
 
Reportes En J Developer Parte 1 Y 2
Reportes En J Developer   Parte 1 Y 2Reportes En J Developer   Parte 1 Y 2
Reportes En J Developer Parte 1 Y 2
 
Androidpresentacion 090531114810-phpapp02
Androidpresentacion 090531114810-phpapp02Androidpresentacion 090531114810-phpapp02
Androidpresentacion 090531114810-phpapp02
 
JDBC(conjunto de clases e interfaces)
JDBC(conjunto de clases e interfaces)JDBC(conjunto de clases e interfaces)
JDBC(conjunto de clases e interfaces)
 
CLOUD COMPUTING
CLOUD COMPUTINGCLOUD COMPUTING
CLOUD COMPUTING
 
Aplicaciones n capas en visual.net
Aplicaciones n capas en visual.netAplicaciones n capas en visual.net
Aplicaciones n capas en visual.net
 
Curso Fundeweb2 para java desde cero a experto.ppt
Curso Fundeweb2 para java desde cero a experto.pptCurso Fundeweb2 para java desde cero a experto.ppt
Curso Fundeweb2 para java desde cero a experto.ppt
 

More from Sección de Metodologías, Normalización y Calidad del Software (7)

Atica Dev Ops II
Atica Dev Ops IIAtica Dev Ops II
Atica Dev Ops II
 
ATICA DevOps
ATICA DevOpsATICA DevOps
ATICA DevOps
 
En 20 minutos ... Chrome Developer Tools
En 20 minutos ... Chrome Developer ToolsEn 20 minutos ... Chrome Developer Tools
En 20 minutos ... Chrome Developer Tools
 
En 20 minutos ...Control de Cambios de la BD con Liquibase
En 20 minutos ...Control de Cambios de la BD con LiquibaseEn 20 minutos ...Control de Cambios de la BD con Liquibase
En 20 minutos ...Control de Cambios de la BD con Liquibase
 
En 20 minutos ... Responsive Design
En 20 minutos ... Responsive DesignEn 20 minutos ... Responsive Design
En 20 minutos ... Responsive Design
 
Vision estatica de medea
Vision estatica de medeaVision estatica de medea
Vision estatica de medea
 
FundeWeb. El framework de desarrollo en ÁTICA
FundeWeb. El framework de desarrollo en ÁTICAFundeWeb. El framework de desarrollo en ÁTICA
FundeWeb. El framework de desarrollo en ÁTICA
 

Recently uploaded

editorial de informática de los sueños.docx
editorial de informática de los sueños.docxeditorial de informática de los sueños.docx
editorial de informática de los sueños.docxssusere34b451
 
Unidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdfUnidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdfMarianneBAyn
 
De Olmos Santiago_Dolores _ M1S3AI6.pptx
De Olmos Santiago_Dolores _ M1S3AI6.pptxDe Olmos Santiago_Dolores _ M1S3AI6.pptx
De Olmos Santiago_Dolores _ M1S3AI6.pptxdoloresolmosantiago
 
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiCVelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC6dwwcgtpfx
 
Presentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptxPresentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptxTaim11
 
BUSCADORES DE INTERNET (Universidad de Sonora).
BUSCADORES DE INTERNET (Universidad de Sonora).BUSCADORES DE INTERNET (Universidad de Sonora).
BUSCADORES DE INTERNET (Universidad de Sonora).jcaballerosamayoa
 
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUALJORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUALGuadalinfoHuscarGuad
 
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdfPons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdffrank0071
 
Navegadores de internet - Nuevas Tecnologías de la Información y la Comunicación
Navegadores de internet - Nuevas Tecnologías de la Información y la ComunicaciónNavegadores de internet - Nuevas Tecnologías de la Información y la Comunicación
Navegadores de internet - Nuevas Tecnologías de la Información y la ComunicaciónAntonia Yamilet Perez Palomares
 
manual-de-oleohidraulica-industrial-vickers.pdf
manual-de-oleohidraulica-industrial-vickers.pdfmanual-de-oleohidraulica-industrial-vickers.pdf
manual-de-oleohidraulica-industrial-vickers.pdfprofmartinsuarez
 
Licencias para el Uso y el Desarrollo de Software
Licencias para el Uso y el Desarrollo de SoftwareLicencias para el Uso y el Desarrollo de Software
Licencias para el Uso y el Desarrollo de SoftwareAndres Avila
 
TELECOMUNICACIONES- CAPITULO2: Modelo Osi ccna
TELECOMUNICACIONES- CAPITULO2: Modelo Osi ccnaTELECOMUNICACIONES- CAPITULO2: Modelo Osi ccna
TELECOMUNICACIONES- CAPITULO2: Modelo Osi ccnajrujel91
 
¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf7adelosriosarangojua
 
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...Kevin Serna
 
taller de tablas en word para estudiantes de secundaria
taller de tablas en word para estudiantes de secundariataller de tablas en word para estudiantes de secundaria
taller de tablas en word para estudiantes de secundariaandresingsiseo
 
proyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptualesproyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptualesssuserbe0d1c
 
Uso de las TIC en la vida cotidiana .
Uso de las TIC en la vida cotidiana       .Uso de las TIC en la vida cotidiana       .
Uso de las TIC en la vida cotidiana .itzyrivera61103
 
Inteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicialInteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicialEducática
 
lenguaje algebraico.pptx álgebra, trigonometria
lenguaje algebraico.pptx álgebra, trigonometrialenguaje algebraico.pptx álgebra, trigonometria
lenguaje algebraico.pptx álgebra, trigonometriasofiasonder
 
Gestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL ServerGestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL ServerRobertoCarrancioFern
 

Recently uploaded (20)

editorial de informática de los sueños.docx
editorial de informática de los sueños.docxeditorial de informática de los sueños.docx
editorial de informática de los sueños.docx
 
Unidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdfUnidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdf
 
De Olmos Santiago_Dolores _ M1S3AI6.pptx
De Olmos Santiago_Dolores _ M1S3AI6.pptxDe Olmos Santiago_Dolores _ M1S3AI6.pptx
De Olmos Santiago_Dolores _ M1S3AI6.pptx
 
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiCVelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC
 
Presentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptxPresentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptx
 
BUSCADORES DE INTERNET (Universidad de Sonora).
BUSCADORES DE INTERNET (Universidad de Sonora).BUSCADORES DE INTERNET (Universidad de Sonora).
BUSCADORES DE INTERNET (Universidad de Sonora).
 
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUALJORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
 
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdfPons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
 
Navegadores de internet - Nuevas Tecnologías de la Información y la Comunicación
Navegadores de internet - Nuevas Tecnologías de la Información y la ComunicaciónNavegadores de internet - Nuevas Tecnologías de la Información y la Comunicación
Navegadores de internet - Nuevas Tecnologías de la Información y la Comunicación
 
manual-de-oleohidraulica-industrial-vickers.pdf
manual-de-oleohidraulica-industrial-vickers.pdfmanual-de-oleohidraulica-industrial-vickers.pdf
manual-de-oleohidraulica-industrial-vickers.pdf
 
Licencias para el Uso y el Desarrollo de Software
Licencias para el Uso y el Desarrollo de SoftwareLicencias para el Uso y el Desarrollo de Software
Licencias para el Uso y el Desarrollo de Software
 
TELECOMUNICACIONES- CAPITULO2: Modelo Osi ccna
TELECOMUNICACIONES- CAPITULO2: Modelo Osi ccnaTELECOMUNICACIONES- CAPITULO2: Modelo Osi ccna
TELECOMUNICACIONES- CAPITULO2: Modelo Osi ccna
 
¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf
 
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
 
taller de tablas en word para estudiantes de secundaria
taller de tablas en word para estudiantes de secundariataller de tablas en word para estudiantes de secundaria
taller de tablas en word para estudiantes de secundaria
 
proyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptualesproyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptuales
 
Uso de las TIC en la vida cotidiana .
Uso de las TIC en la vida cotidiana       .Uso de las TIC en la vida cotidiana       .
Uso de las TIC en la vida cotidiana .
 
Inteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicialInteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicial
 
lenguaje algebraico.pptx álgebra, trigonometria
lenguaje algebraico.pptx álgebra, trigonometrialenguaje algebraico.pptx álgebra, trigonometria
lenguaje algebraico.pptx álgebra, trigonometria
 
Gestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL ServerGestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL Server
 

Auditoria en BD de las Sesiones Web

  • 1. Auditoría en BD de las sesiones web Bernabé Nicolás García © 2009. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
  • 2. Contenido 1.- Presentación del problema 2.- Contextos 3.- Solución © 2009. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
  • 3. Presentación del problema  Auditoría Cliente servidor © 2009. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
  • 4. Presentación del problema  Auditoría Web © 2009. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
  • 5. Presentación del problema  Trigger base de datos © 2009. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
  • 6. Contextos http://www.um.es/atica/sql---contextos Un contexto Oracle (o contexto de aplicación o también namespace), es algo así como una agrupación de variables globales. Oracle permite crear contextos (con el privilegio CREATE ANY CONTEXT), y dentro de cada contexto se pueden definir atributos (similares a variables globales), de forma que una vez que le asigno valor a un atributo lo tendré disponible en cualquier momento dentro de la misma sesión (incluso entre sesiones si defino el contexto como global). Otra sesión puede tener un valor diferente para el mismo atributo anterior. Para crear un contexto, primero tengo que crear un paquete que me permita definir atributos para dicho contexto (proporcionando seguridad a la citada definición de atributos); de modo que no puedo definir atributos en un contexto ejecutando directamente DBMS_SESSION.SET_CONTEXT (obtendría un error "ORA-01031 Privilegios Insuficientes"), sino que tengo que hacerlo desde el paquete del contexto, por ejemplo: SQL> create context ctx_prueba using pkg_ctx_prueba ACCESSED GLOBALLY;; Context created. © 2009. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
  • 7. Contextos  Paquete de base de datos para la gestión de contextos © 2009. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
  • 8. Solución  Modificaciones en la base de datos: © 2009. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
  • 9. Solución  Modificación del Trigger de auditoría © 2009. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
  • 10. Solución  Función f_usuario_auditoria. Varias aplicaciones, cada una en un Contexto diferente. © 2009. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
  • 11. Solución  Función get_value. © 2009. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
  • 12. Solución  Modificaciones en la aplicación Web: © 2009. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
  • 13. Solución  Establecemos la variable dni del contexto en la aplicación Web. © 2009. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
  • 14. Solución  Set_client_identifier © 2009. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
  • 15. Solución  Set_dni © 2009. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
  • 16. Solución  Obtenemos… © 2009. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
  • 17. Alternativa Solución (Aún no probada)  En el POM Principal de la aplicación hay que añadir: <properties>         <fundeweb-jpa- extend.version>1.2.6.CR1</fundeweb-jpa- extend.version> </properties>  En la clase ServicioGenericoPao la declaramos como clase abstracta: © 2009. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
  • 18. Alternativa Solución  Le añadimos los siguientes métodos: protected DataSource getDataSource() { return this.dataSource; } © 2009. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
  • 19. Alternativa Solución  Le añadimos los siguientes métodos: /** * Metodo utilzado para obtener una conexion del datasource pasado como parametro, configurada con los parámetros de * identificación de la 'acción' a realizar por un 'usuario' de una 'aplicción'. * * @param dataSource * -- un DataSource del que se obtiene la conexion. * @param action * -- la acción realizada * @param application * -- la aplicación donde se realiza la acción * @param user * -- el usuario que realiza la acción * @return Connection -- una conexion JDBC. * @throws SQLException * - si se produce algun error */ protected Connection getConnectionWithClientId(DataSource dataSource, String action, String program, String user) throws SQLException { return dataSource == null ? null : OracleUtils.setClientIdToConnection(dataSource.getConnection(), action, program, user); } © 2009. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
  • 20. Alternativa Solución  Le añadimos los siguientes métodos: /** * Metodo utilzado para obtener una conexion del datasource obtenido mediante el método getDataSource(), * configurada con los parámetros de identificación de la 'acción' a realizar por un 'usuario' de una 'aplicción'. * * @param action * -- la acción realizada * @param application * -- la aplicación donde se realiza la acción * @param user * -- el usuario que realiza la acción * @return Connection -- una conexion JDBC. * @throws SQLException * - si se produce algun error */ protected Connection getConnectionWithClientId(String action, String program, String user) throws SQLException { return getDataSource() == null ? null : OracleUtils.setClientIdToConnection(getDataSource().getConnection(), action, program, user); } © 2009. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
  • 21. Alternativa Solución  Ahora en las llamadas JDBC tienes que obtener la conexión con el método getConnectionWithClientId, pasándole los parámetros de la acción, aplicación y usuario. ATENCION: Este método solo funciona con el driver OJDBC de Oracle sin DMS. En el OC4J se esta cargando el driver con DMS, por lo que este método no funciona. © 2009. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
  • 22. Fin Gracias por vuestra atención ¿Alguna pregunta? © 2009. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.