SlideShare una empresa de Scribd logo
OLAP-2011 All Rights Reserved




AUTORIZACIÓN BASADA
EN REGLAS CON DROOLS
Por: Óscar López, M.Sc.        Twitter: @oscar_lopez
Agenda

     ¨  Conceptos de Seguridad
     ¨  Reglas de Inferencia

     ¨  Drools + Seam =

         Autorización Basada en Reglas
     ¨  Mucho Más que Autorización

     ¨  Bibliografía

     ¨  Preguntas




             OLAP-2011 All Rights Reserved
Conceptos de Seguridad




        OLAP-2011 All Rights Reserved
Definiciones
¨    ACL: Conjunto de permisos sobre un objeto
¨    Autenticación: Afirmación de identidad; permite o niega el
      acceso a un sistema de información
¨    Autorización: Mecanismo y política de especificación de
      permisos
¨    Permiso: Derecho de acceso a un recurso, operaciones
      sobre éste. "Fino”
¨    Principal: nombre de usuario, login
¨    Regla: Función de autorización; recibe condiciones y retorna
      acciones
¨    Rol: Perfil de usuario en el sistema; agrupación de permisos.
      "Grueso"

                           OLAP-2011 All Rights Reserved
Mecanismos de Autorización

                             Autorización
                                   


            Roles                                      Permisos



 Tabla de           Grupos                  Tabla de              Reglas
   Roles             LDAP                     ACLs



                       OLAP-2011 All Rights Reserved
¿Cuándo Usar Autorización por Reglas?
¨    Se desea separar la lógica de autorización de los objetos sobre los
      que aplica, centralizando las reglas de acceso y facilitando su
      mantenibilidad       Las condiciones de autorización son muy
      dinámicas y podrían estar cambiando constantemente en el tiempo
¨    Se desea evitar una explosión de roles en el sistema       La adición
      de una restricción de acceso implica tener que crear un nuevo rol
      sólo para ella y sería más sencillo decidir si se permite o no el
      acceso en función del contexto
¨    Se desea evitar tener que agregarle roles adicionales a un usuario
         Existen restricciones de acceso globales y no corresponden
      claramente a un rol
¨    Se desea evitar tener lógica compleja de autorización en EL, que
      puede impactar negativamente el desempeño de la aplicación
      Existe código de autorización complejo (más de 3 condiciones) y
      depende de condiciones adicionales del contexto

                              OLAP-2011 All Rights Reserved
Reglas de Inferencia




         OLAP-2011 All Rights Reserved
Reglas de Inferencia
¨    Campo de estudio de la inteligencia artificial: Sistemas
      Expertos
¨    Una regla es una estructura lógica de primer orden que
      razona sobre una representación del conocimiento
¨    Tiene la forma: condición-acción (premisas
      conclusiones)
¨    El motor hace match de datos contra reglas, infiere
      conclusiones que resultan en acciones.
¨    Forward-chaining o Backward-chaining
¨    Una buena implementación de un motor de inferencia
      generalmente usa el algoritmo Rete

                         OLAP-2011 All Rights Reserved
Motor de Inferencia




            OLAP-2011 All Rights Reserved
Forward-Chaining




            OLAP-2011 All Rights Reserved
Algoritmo Rete




            OLAP-2011 All Rights Reserved
Algoritmo Rete (cont.)




             OLAP-2011 All Rights Reserved
Drools + Seam =
Autorización Basada en Reglas




            OLAP-2011 All Rights Reserved
Drools
¨    Motor de inferencia basado en reglas, soporta forward
      y backward-chaining, procesamiento de eventos
¨    Implementa el algoritmo ReteOO, optimizado para
      operar sobre objetos
¨    Plataforma de integración de lógica del negocio
¨    Anteriormente conocido como JBoss Rules
¨    Drools Expert
¨    Versión estable más reciente: 5.2
¨    Licencia: Apache v2.0

                        OLAP-2011 All Rights Reserved
Seam Framework, MVEL
¨    Seam
      ¤  Framework   web JEE5/6 que combina tecnologías AJAX, JSF,
          EJB3
      ¤  Biyección, Contextos, Manejador de Persistencia,
          Componentes
      ¤  Versiones estables más recientes: 2.2.2.Final y 3.0.0.Final
      ¤  Licencias: LGPL (2.x) y Apache v2.0 (3.x)
¨    MVEL
      ¤  Lenguaje  de Expresiones embebible en Java
      ¤  Estático o dinámico, interpretado o compilado, ¡muy rápido!
      ¤  Licencia: Apache v2.0
      ¤  Versión estable más reciente: 2.0.19 Final


                             OLAP-2011 All Rights Reserved
Autorización en Seam




            OLAP-2011 All Rights Reserved
Sintaxis de Permisos



    #{s:hasPermission(‘target’, ‘action’)}
                            




                   objetivo                      acción




                 OLAP-2011 All Rights Reserved
¿Qué Puedo Proteger?
Páginas                           <restrict>
                                    #{s:hasPermission(...)}
                                  </restrict>

Componentes GUI                   rendered=
                                  "#{s:hasPermission(...)}"



Componentes del Negocio           @Restrict
                                  ("#{s:hasPermission(...)}")
•  Clase
•  Método
Entidades                         @Restrict
                                  ("#{s:hasPermission(...)}")
•  CRUD                           @PostLoad, @PrePersist,
                                  @PreUpdate, @PreRemove
                     OLAP-2011 All Rights Reserved
Sintaxis de Reglas




             OLAP-2011 All Rights Reserved
Herramientas




               OLAP-2011 All Rights Reserved
Caso de Estudio: Reservas de Hoteles


        OLAP-2011 All Rights Reserved
Ejemplo 1: Restricción por Rol
¨    Regla                  ¨    hasPermission




              OLAP-2011 All Rights Reserved
Ejemplo 2: Restricción por Usuario
¨    Regla                  ¨    hasPermission




              OLAP-2011 All Rights Reserved
Ejemplo 3: Restricción por Contexto
¨    Regla                  ¨    hasPermission




              OLAP-2011 All Rights Reserved
Mucho Más que Autorización




         OLAP-2011 All Rights Reserved
La Punta del Iceberg


OLAP-2011 All Rights Reserved
Plataforma de Integración de Lógica del Negocio




                  OLAP-2011 All Rights Reserved
Bibliografía

       1.    Drools JBoss Rules 5.0 Developer's Guide.
             Packt Publishing, 2009
       2.    Seam in Action. Manning, 2009
       3.    Seam Framework: Experience the
             Evolution of Java EE, 2nd Edition. Prentice
             Hall, 2009
       4.    Seam Security (http://docs.jboss.org/
             seam/latest/reference/en-US/html/
             security.html - consultado en junio de
             2011)

                  OLAP-2011 All Rights Reserved
Bibliografía

       5.    Drools Documentation (http://
             www.jboss.org/drools/documentation -
             consultado en junio de 2011)
       6.    Charles Forgy. Rete: A fast algorithm
             for the many pattern/many object
             pattern match problem. Artificial
             Intelligence, 19(1):17–37, 1982.



                 OLAP-2011 All Rights Reserved
¿Preguntas?




OLAP-2011 All Rights Reserved

Más contenido relacionado

Similar a Autorizacion drools

J2 Ee Para Seres Humanos Slides
J2 Ee Para Seres Humanos SlidesJ2 Ee Para Seres Humanos Slides
J2 Ee Para Seres Humanos Slidesmundojava
 
Conociendo las tecnologías de TypeSafe (Primer meetup Scala Perú Nov 2015)
Conociendo las tecnologías de TypeSafe (Primer meetup Scala Perú Nov 2015)Conociendo las tecnologías de TypeSafe (Primer meetup Scala Perú Nov 2015)
Conociendo las tecnologías de TypeSafe (Primer meetup Scala Perú Nov 2015)
Marco Antonio Ordoñez Valverde
 
Ch14
Ch14Ch14
Ch14
Facebook
 
Programacion web java
Programacion web javaProgramacion web java
Programacion web javaCésar Ocampo
 
JConf México 2020 - Micronaut + GraalVM = <3
JConf México 2020 - Micronaut + GraalVM = <3JConf México 2020 - Micronaut + GraalVM = <3
JConf México 2020 - Micronaut + GraalVM = <3
Iván López Martín
 
JConf Perú 2020 - Micronaut + GraalVM = <3
JConf Perú 2020 - Micronaut + GraalVM = <3JConf Perú 2020 - Micronaut + GraalVM = <3
JConf Perú 2020 - Micronaut + GraalVM = <3
Iván López Martín
 
[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP
[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP
[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP
7th_Sign
 
Seguridad en el Desarrollo de Aplicaciones Web PHP
Seguridad en el Desarrollo de Aplicaciones Web PHPSeguridad en el Desarrollo de Aplicaciones Web PHP
Seguridad en el Desarrollo de Aplicaciones Web PHP
7th_Sign
 
Argentesting 2017 - Performance testing 101 con jmeter
Argentesting 2017 - Performance testing 101 con jmeterArgentesting 2017 - Performance testing 101 con jmeter
Argentesting 2017 - Performance testing 101 con jmeter
Argentesting
 
Web Performance para Magento
Web Performance para MagentoWeb Performance para Magento
Web Performance para Magento
Jordi Rosell
 
Laravel 5.1
Laravel 5.1Laravel 5.1
Laravel 5.1
René Sandoval
 
Gestion de permisos especiales y accesos en ibm i v2
Gestion de permisos especiales y accesos en ibm i v2Gestion de permisos especiales y accesos en ibm i v2
Gestion de permisos especiales y accesos en ibm i v2
HelpSystems
 
Introducción a Tomcat
Introducción a TomcatIntroducción a Tomcat
Introducción a Tomcat
Iker Canarias
 
Release note 4.5
Release note 4.5Release note 4.5
Release note 4.5Pablo
 
Introducción a Laravel 5 - Un Framework para Artesanos Web
Introducción a Laravel 5 - Un Framework para Artesanos WebIntroducción a Laravel 5 - Un Framework para Artesanos Web
Introducción a Laravel 5 - Un Framework para Artesanos Web
Facundo E. Goñi Perez
 
Unidad 6 Protección y seguridad
Unidad 6 Protección y seguridadUnidad 6 Protección y seguridad
Unidad 6 Protección y seguridad
J M
 
Exposicion Akelos
Exposicion AkelosExposicion Akelos
Exposicion Akelosdokeosla
 
Presentation OWASP Day @ FIUBA.AR
Presentation OWASP Day @ FIUBA.ARPresentation OWASP Day @ FIUBA.AR
Presentation OWASP Day @ FIUBA.AR
Bonsai Information Security
 

Similar a Autorizacion drools (20)

J2 Ee Para Seres Humanos Slides
J2 Ee Para Seres Humanos SlidesJ2 Ee Para Seres Humanos Slides
J2 Ee Para Seres Humanos Slides
 
Conociendo las tecnologías de TypeSafe (Primer meetup Scala Perú Nov 2015)
Conociendo las tecnologías de TypeSafe (Primer meetup Scala Perú Nov 2015)Conociendo las tecnologías de TypeSafe (Primer meetup Scala Perú Nov 2015)
Conociendo las tecnologías de TypeSafe (Primer meetup Scala Perú Nov 2015)
 
Ch14
Ch14Ch14
Ch14
 
Programacion web java
Programacion web javaProgramacion web java
Programacion web java
 
JConf México 2020 - Micronaut + GraalVM = <3
JConf México 2020 - Micronaut + GraalVM = <3JConf México 2020 - Micronaut + GraalVM = <3
JConf México 2020 - Micronaut + GraalVM = <3
 
JConf Perú 2020 - Micronaut + GraalVM = <3
JConf Perú 2020 - Micronaut + GraalVM = <3JConf Perú 2020 - Micronaut + GraalVM = <3
JConf Perú 2020 - Micronaut + GraalVM = <3
 
[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP
[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP
[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP
 
Seguridad en el Desarrollo de Aplicaciones Web PHP
Seguridad en el Desarrollo de Aplicaciones Web PHPSeguridad en el Desarrollo de Aplicaciones Web PHP
Seguridad en el Desarrollo de Aplicaciones Web PHP
 
Argentesting 2017 - Performance testing 101 con jmeter
Argentesting 2017 - Performance testing 101 con jmeterArgentesting 2017 - Performance testing 101 con jmeter
Argentesting 2017 - Performance testing 101 con jmeter
 
Web Performance para Magento
Web Performance para MagentoWeb Performance para Magento
Web Performance para Magento
 
Laravel 5.1
Laravel 5.1Laravel 5.1
Laravel 5.1
 
Gestion de permisos especiales y accesos en ibm i v2
Gestion de permisos especiales y accesos en ibm i v2Gestion de permisos especiales y accesos en ibm i v2
Gestion de permisos especiales y accesos en ibm i v2
 
Introducción a Tomcat
Introducción a TomcatIntroducción a Tomcat
Introducción a Tomcat
 
Release note 4.5
Release note 4.5Release note 4.5
Release note 4.5
 
Oracle
OracleOracle
Oracle
 
Introducción a Laravel 5 - Un Framework para Artesanos Web
Introducción a Laravel 5 - Un Framework para Artesanos WebIntroducción a Laravel 5 - Un Framework para Artesanos Web
Introducción a Laravel 5 - Un Framework para Artesanos Web
 
Unidad 6 Protección y seguridad
Unidad 6 Protección y seguridadUnidad 6 Protección y seguridad
Unidad 6 Protección y seguridad
 
Comandos ios
Comandos iosComandos ios
Comandos ios
 
Exposicion Akelos
Exposicion AkelosExposicion Akelos
Exposicion Akelos
 
Presentation OWASP Day @ FIUBA.AR
Presentation OWASP Day @ FIUBA.ARPresentation OWASP Day @ FIUBA.AR
Presentation OWASP Day @ FIUBA.AR
 

Más de campus party

¿Qué es SCADA y cómo me afecta su (in)seguridad?
¿Qué es SCADA y cómo me afecta su (in)seguridad? ¿Qué es SCADA y cómo me afecta su (in)seguridad?
¿Qué es SCADA y cómo me afecta su (in)seguridad? campus party
 
Producción del largometraje pequeñas voces
Producción del largometraje pequeñas vocesProducción del largometraje pequeñas voces
Producción del largometraje pequeñas voces
campus party
 
Conferencia: Aplicaciones y el reto del desarrollo móvil
Conferencia: Aplicaciones y el reto del desarrollo móvilConferencia: Aplicaciones y el reto del desarrollo móvil
Conferencia: Aplicaciones y el reto del desarrollo móvilcampus party
 
Liminal Bluevia 1
Liminal Bluevia 1Liminal Bluevia 1
Liminal Bluevia 1
campus party
 
Como sería un viaje a la velocidad de la luz - Miguel Ángel Contreras
Como sería un viaje a la velocidad de la luz - Miguel Ángel ContrerasComo sería un viaje a la velocidad de la luz - Miguel Ángel Contreras
Como sería un viaje a la velocidad de la luz - Miguel Ángel Contrerascampus party
 
Como sería un viaje a la velocidad de la luz - Miguel Ángel Contreras
Como sería un viaje a la velocidad de la luz - Miguel Ángel ContrerasComo sería un viaje a la velocidad de la luz - Miguel Ángel Contreras
Como sería un viaje a la velocidad de la luz - Miguel Ángel Contreras
campus party
 
X taller bluevialiminal
X taller bluevialiminalX taller bluevialiminal
X taller bluevialiminalcampus party
 
X liminal buevia 2 (dllo.)-taller
X liminal buevia 2 (dllo.)-tallerX liminal buevia 2 (dllo.)-taller
X liminal buevia 2 (dllo.)-tallercampus party
 
X elalgoritmodelamemoria maria juliana soto (social media) (1) 1
X elalgoritmodelamemoria maria juliana soto (social media) (1) 1X elalgoritmodelamemoria maria juliana soto (social media) (1) 1
X elalgoritmodelamemoria maria juliana soto (social media) (1) 1campus party
 
Theremin Alfredo Vargas
Theremin Alfredo Vargas Theremin Alfredo Vargas
Theremin Alfredo Vargas
campus party
 
Sonido y cine Ricardo Escallon
Sonido y cine Ricardo Escallon Sonido y cine Ricardo Escallon
Sonido y cine Ricardo Escallon
campus party
 
Photoshop para fotógrafos. Del cuarto oscuro al cuarto digital - Andrés Bautista
Photoshop para fotógrafos. Del cuarto oscuro al cuarto digital - Andrés BautistaPhotoshop para fotógrafos. Del cuarto oscuro al cuarto digital - Andrés Bautista
Photoshop para fotógrafos. Del cuarto oscuro al cuarto digital - Andrés Bautista
campus party
 
Photoshop para fotógrafos. Del cuarto oscuro al cuarto digital - Andrés Fonseca
Photoshop para fotógrafos. Del cuarto oscuro al cuarto digital - Andrés FonsecaPhotoshop para fotógrafos. Del cuarto oscuro al cuarto digital - Andrés Fonseca
Photoshop para fotógrafos. Del cuarto oscuro al cuarto digital - Andrés Fonseca
campus party
 
Aseguramiento de Vulnerabilidades Web con tecnologías OWASP
Aseguramiento de Vulnerabilidades Web con tecnologías OWASPAseguramiento de Vulnerabilidades Web con tecnologías OWASP
Aseguramiento de Vulnerabilidades Web con tecnologías OWASP
campus party
 
Mundos virtuales inmersivos y social shopping
Mundos virtuales inmersivos y social shopping Mundos virtuales inmersivos y social shopping
Mundos virtuales inmersivos y social shopping
campus party
 
Creación transmediática y comunidades en práctica
Creación transmediática y comunidades en prácticaCreación transmediática y comunidades en práctica
Creación transmediática y comunidades en prácticacampus party
 
Android+Arduino
Android+ArduinoAndroid+Arduino
Android+Arduino
campus party
 
Implementación de Cloud Computing con Software Libre y medidas de seguridad p...
Implementación de Cloud Computing con Software Libre y medidas de seguridad p...Implementación de Cloud Computing con Software Libre y medidas de seguridad p...
Implementación de Cloud Computing con Software Libre y medidas de seguridad p...
campus party
 

Más de campus party (20)

Titulo
Titulo Titulo
Titulo
 
¿Qué es SCADA y cómo me afecta su (in)seguridad?
¿Qué es SCADA y cómo me afecta su (in)seguridad? ¿Qué es SCADA y cómo me afecta su (in)seguridad?
¿Qué es SCADA y cómo me afecta su (in)seguridad?
 
Producción del largometraje pequeñas voces
Producción del largometraje pequeñas vocesProducción del largometraje pequeñas voces
Producción del largometraje pequeñas voces
 
Conferencia: Aplicaciones y el reto del desarrollo móvil
Conferencia: Aplicaciones y el reto del desarrollo móvilConferencia: Aplicaciones y el reto del desarrollo móvil
Conferencia: Aplicaciones y el reto del desarrollo móvil
 
Liminal Bluevia 1
Liminal Bluevia 1Liminal Bluevia 1
Liminal Bluevia 1
 
Como sería un viaje a la velocidad de la luz - Miguel Ángel Contreras
Como sería un viaje a la velocidad de la luz - Miguel Ángel ContrerasComo sería un viaje a la velocidad de la luz - Miguel Ángel Contreras
Como sería un viaje a la velocidad de la luz - Miguel Ángel Contreras
 
Como sería un viaje a la velocidad de la luz - Miguel Ángel Contreras
Como sería un viaje a la velocidad de la luz - Miguel Ángel ContrerasComo sería un viaje a la velocidad de la luz - Miguel Ángel Contreras
Como sería un viaje a la velocidad de la luz - Miguel Ángel Contreras
 
X taller bluevialiminal
X taller bluevialiminalX taller bluevialiminal
X taller bluevialiminal
 
X liminal buevia 2 (dllo.)-taller
X liminal buevia 2 (dllo.)-tallerX liminal buevia 2 (dllo.)-taller
X liminal buevia 2 (dllo.)-taller
 
X elalgoritmodelamemoria maria juliana soto (social media) (1) 1
X elalgoritmodelamemoria maria juliana soto (social media) (1) 1X elalgoritmodelamemoria maria juliana soto (social media) (1) 1
X elalgoritmodelamemoria maria juliana soto (social media) (1) 1
 
Theremin Alfredo Vargas
Theremin Alfredo Vargas Theremin Alfredo Vargas
Theremin Alfredo Vargas
 
Sonido y cine Ricardo Escallon
Sonido y cine Ricardo Escallon Sonido y cine Ricardo Escallon
Sonido y cine Ricardo Escallon
 
Photoshop para fotógrafos. Del cuarto oscuro al cuarto digital - Andrés Bautista
Photoshop para fotógrafos. Del cuarto oscuro al cuarto digital - Andrés BautistaPhotoshop para fotógrafos. Del cuarto oscuro al cuarto digital - Andrés Bautista
Photoshop para fotógrafos. Del cuarto oscuro al cuarto digital - Andrés Bautista
 
Photoshop para fotógrafos. Del cuarto oscuro al cuarto digital - Andrés Fonseca
Photoshop para fotógrafos. Del cuarto oscuro al cuarto digital - Andrés FonsecaPhotoshop para fotógrafos. Del cuarto oscuro al cuarto digital - Andrés Fonseca
Photoshop para fotógrafos. Del cuarto oscuro al cuarto digital - Andrés Fonseca
 
Aseguramiento de Vulnerabilidades Web con tecnologías OWASP
Aseguramiento de Vulnerabilidades Web con tecnologías OWASPAseguramiento de Vulnerabilidades Web con tecnologías OWASP
Aseguramiento de Vulnerabilidades Web con tecnologías OWASP
 
Mundos virtuales inmersivos y social shopping
Mundos virtuales inmersivos y social shopping Mundos virtuales inmersivos y social shopping
Mundos virtuales inmersivos y social shopping
 
Creación transmediática y comunidades en práctica
Creación transmediática y comunidades en prácticaCreación transmediática y comunidades en práctica
Creación transmediática y comunidades en práctica
 
Android+Arduino
Android+ArduinoAndroid+Arduino
Android+Arduino
 
Implementación de Cloud Computing con Software Libre y medidas de seguridad p...
Implementación de Cloud Computing con Software Libre y medidas de seguridad p...Implementación de Cloud Computing con Software Libre y medidas de seguridad p...
Implementación de Cloud Computing con Software Libre y medidas de seguridad p...
 
Linux en caja
Linux en cajaLinux en caja
Linux en caja
 

Último

ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..
IsabelQuintero36
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
CrystalRomero18
 
algebra de boole teoria.pdf texto guia.1
algebra de boole teoria.pdf texto guia.1algebra de boole teoria.pdf texto guia.1
algebra de boole teoria.pdf texto guia.1
yuki22434
 
Actividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdfActividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdf
NajwaNimri1
 
actividad 2 tecnologia (3).pdf junto con mis compañeros
actividad 2 tecnologia (3).pdf junto con mis compañerosactividad 2 tecnologia (3).pdf junto con mis compañeros
actividad 2 tecnologia (3).pdf junto con mis compañeros
aljitagallego
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
cdraco
 
absorcion de gases y practicas de laboratorios
absorcion de gases y practicas de laboratoriosabsorcion de gases y practicas de laboratorios
absorcion de gases y practicas de laboratorios
JuanAlvarez413513
 
herramientas de sitio web 3.0 2024
herramientas de sitio web 3.0  2024herramientas de sitio web 3.0  2024
herramientas de sitio web 3.0 2024
julio05042006
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
CesarPazosQuispe
 
Presentacion de Estado del Arte del The Clean
Presentacion de Estado del Arte del The CleanPresentacion de Estado del Arte del The Clean
Presentacion de Estado del Arte del The Clean
juanchogame18
 
COMPARATIVO DE SUBESTACIONES AIS VS GIS.
COMPARATIVO DE SUBESTACIONES AIS VS GIS.COMPARATIVO DE SUBESTACIONES AIS VS GIS.
COMPARATIVO DE SUBESTACIONES AIS VS GIS.
SERVANDOBADILLOPOLEN
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
marianabz2403
 
Trabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De ProgramaciónTrabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De Programación
SofiaCollazos
 
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial ValenciaCatalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
AMADO SALVADOR
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
SamuelRamirez83524
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVATECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
LilibethEstupian
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
zoecaicedosalazar
 
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial ValenciaCatalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
AMADO SALVADOR
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
AlejandraCasallas7
 
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
AMADO SALVADOR
 

Último (20)

ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
 
algebra de boole teoria.pdf texto guia.1
algebra de boole teoria.pdf texto guia.1algebra de boole teoria.pdf texto guia.1
algebra de boole teoria.pdf texto guia.1
 
Actividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdfActividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdf
 
actividad 2 tecnologia (3).pdf junto con mis compañeros
actividad 2 tecnologia (3).pdf junto con mis compañerosactividad 2 tecnologia (3).pdf junto con mis compañeros
actividad 2 tecnologia (3).pdf junto con mis compañeros
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
 
absorcion de gases y practicas de laboratorios
absorcion de gases y practicas de laboratoriosabsorcion de gases y practicas de laboratorios
absorcion de gases y practicas de laboratorios
 
herramientas de sitio web 3.0 2024
herramientas de sitio web 3.0  2024herramientas de sitio web 3.0  2024
herramientas de sitio web 3.0 2024
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
 
Presentacion de Estado del Arte del The Clean
Presentacion de Estado del Arte del The CleanPresentacion de Estado del Arte del The Clean
Presentacion de Estado del Arte del The Clean
 
COMPARATIVO DE SUBESTACIONES AIS VS GIS.
COMPARATIVO DE SUBESTACIONES AIS VS GIS.COMPARATIVO DE SUBESTACIONES AIS VS GIS.
COMPARATIVO DE SUBESTACIONES AIS VS GIS.
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Trabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De ProgramaciónTrabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De Programación
 
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial ValenciaCatalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVATECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
 
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial ValenciaCatalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
 
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
 

Autorizacion drools

  • 1. OLAP-2011 All Rights Reserved AUTORIZACIÓN BASADA EN REGLAS CON DROOLS Por: Óscar López, M.Sc. Twitter: @oscar_lopez
  • 2. Agenda ¨  Conceptos de Seguridad ¨  Reglas de Inferencia ¨  Drools + Seam = Autorización Basada en Reglas ¨  Mucho Más que Autorización ¨  Bibliografía ¨  Preguntas OLAP-2011 All Rights Reserved
  • 3. Conceptos de Seguridad OLAP-2011 All Rights Reserved
  • 4. Definiciones ¨  ACL: Conjunto de permisos sobre un objeto ¨  Autenticación: Afirmación de identidad; permite o niega el acceso a un sistema de información ¨  Autorización: Mecanismo y política de especificación de permisos ¨  Permiso: Derecho de acceso a un recurso, operaciones sobre éste. "Fino” ¨  Principal: nombre de usuario, login ¨  Regla: Función de autorización; recibe condiciones y retorna acciones ¨  Rol: Perfil de usuario en el sistema; agrupación de permisos. "Grueso" OLAP-2011 All Rights Reserved
  • 5. Mecanismos de Autorización Autorización   Roles Permisos Tabla de Grupos Tabla de Reglas Roles LDAP ACLs OLAP-2011 All Rights Reserved
  • 6. ¿Cuándo Usar Autorización por Reglas? ¨  Se desea separar la lógica de autorización de los objetos sobre los que aplica, centralizando las reglas de acceso y facilitando su mantenibilidad Las condiciones de autorización son muy dinámicas y podrían estar cambiando constantemente en el tiempo ¨  Se desea evitar una explosión de roles en el sistema La adición de una restricción de acceso implica tener que crear un nuevo rol sólo para ella y sería más sencillo decidir si se permite o no el acceso en función del contexto ¨  Se desea evitar tener que agregarle roles adicionales a un usuario Existen restricciones de acceso globales y no corresponden claramente a un rol ¨  Se desea evitar tener lógica compleja de autorización en EL, que puede impactar negativamente el desempeño de la aplicación Existe código de autorización complejo (más de 3 condiciones) y depende de condiciones adicionales del contexto OLAP-2011 All Rights Reserved
  • 7. Reglas de Inferencia OLAP-2011 All Rights Reserved
  • 8. Reglas de Inferencia ¨  Campo de estudio de la inteligencia artificial: Sistemas Expertos ¨  Una regla es una estructura lógica de primer orden que razona sobre una representación del conocimiento ¨  Tiene la forma: condición-acción (premisas conclusiones) ¨  El motor hace match de datos contra reglas, infiere conclusiones que resultan en acciones. ¨  Forward-chaining o Backward-chaining ¨  Una buena implementación de un motor de inferencia generalmente usa el algoritmo Rete OLAP-2011 All Rights Reserved
  • 9. Motor de Inferencia OLAP-2011 All Rights Reserved
  • 10. Forward-Chaining OLAP-2011 All Rights Reserved
  • 11. Algoritmo Rete OLAP-2011 All Rights Reserved
  • 12. Algoritmo Rete (cont.) OLAP-2011 All Rights Reserved
  • 13. Drools + Seam = Autorización Basada en Reglas OLAP-2011 All Rights Reserved
  • 14. Drools ¨  Motor de inferencia basado en reglas, soporta forward y backward-chaining, procesamiento de eventos ¨  Implementa el algoritmo ReteOO, optimizado para operar sobre objetos ¨  Plataforma de integración de lógica del negocio ¨  Anteriormente conocido como JBoss Rules ¨  Drools Expert ¨  Versión estable más reciente: 5.2 ¨  Licencia: Apache v2.0 OLAP-2011 All Rights Reserved
  • 15. Seam Framework, MVEL ¨  Seam ¤  Framework web JEE5/6 que combina tecnologías AJAX, JSF, EJB3 ¤  Biyección, Contextos, Manejador de Persistencia, Componentes ¤  Versiones estables más recientes: 2.2.2.Final y 3.0.0.Final ¤  Licencias: LGPL (2.x) y Apache v2.0 (3.x) ¨  MVEL ¤  Lenguaje de Expresiones embebible en Java ¤  Estático o dinámico, interpretado o compilado, ¡muy rápido! ¤  Licencia: Apache v2.0 ¤  Versión estable más reciente: 2.0.19 Final OLAP-2011 All Rights Reserved
  • 16. Autorización en Seam OLAP-2011 All Rights Reserved
  • 17. Sintaxis de Permisos #{s:hasPermission(‘target’, ‘action’)}   objetivo acción OLAP-2011 All Rights Reserved
  • 18. ¿Qué Puedo Proteger? Páginas <restrict> #{s:hasPermission(...)} </restrict> Componentes GUI rendered= "#{s:hasPermission(...)}" Componentes del Negocio @Restrict ("#{s:hasPermission(...)}") •  Clase •  Método Entidades @Restrict ("#{s:hasPermission(...)}") •  CRUD @PostLoad, @PrePersist, @PreUpdate, @PreRemove OLAP-2011 All Rights Reserved
  • 19. Sintaxis de Reglas OLAP-2011 All Rights Reserved
  • 20. Herramientas OLAP-2011 All Rights Reserved
  • 21. Caso de Estudio: Reservas de Hoteles OLAP-2011 All Rights Reserved
  • 22. Ejemplo 1: Restricción por Rol ¨  Regla ¨  hasPermission OLAP-2011 All Rights Reserved
  • 23. Ejemplo 2: Restricción por Usuario ¨  Regla ¨  hasPermission OLAP-2011 All Rights Reserved
  • 24. Ejemplo 3: Restricción por Contexto ¨  Regla ¨  hasPermission OLAP-2011 All Rights Reserved
  • 25. Mucho Más que Autorización OLAP-2011 All Rights Reserved
  • 26. La Punta del Iceberg OLAP-2011 All Rights Reserved
  • 27. Plataforma de Integración de Lógica del Negocio OLAP-2011 All Rights Reserved
  • 28. Bibliografía 1.  Drools JBoss Rules 5.0 Developer's Guide. Packt Publishing, 2009 2.  Seam in Action. Manning, 2009 3.  Seam Framework: Experience the Evolution of Java EE, 2nd Edition. Prentice Hall, 2009 4.  Seam Security (http://docs.jboss.org/ seam/latest/reference/en-US/html/ security.html - consultado en junio de 2011) OLAP-2011 All Rights Reserved
  • 29. Bibliografía 5.  Drools Documentation (http:// www.jboss.org/drools/documentation - consultado en junio de 2011) 6.  Charles Forgy. Rete: A fast algorithm for the many pattern/many object pattern match problem. Artificial Intelligence, 19(1):17–37, 1982. OLAP-2011 All Rights Reserved