SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Spring WebFlow 2
        & Spring Security 3
15a. Reunión de SpringHispano.org y grails.org.mx
           (sábado 8 de mayo del 2010)
Agenda
¿Qué es Spring Web Flow?
Características
¿Cómo implementarlo?
¿Qué es Spring Security?
Características
¿Cómo implementarlo?
Conjuntarlos
¿Qué es Spring Web Flow?
Sub-proyecto de Spring
Es un motor para flujos
Web que se pueden
conectar con
SpringMVC
Es un manera de
reutilizar una secuencia
de vistas relacionadas
Es una manera elegante
de resolver los
problemas de la vista
Características
NO es un workflow
Crea aplicaciones web conversacionales
Todos los flujos de captura de datos son candidatos a ser
introducidos a un flujo
Se integra con SpringMVC y JSF
Los flujos son reusables
Binding automático del modelo
Soporta ‘expression language’(OGNL & Unified EL)
Scope Flash
Administración de la persistencia en el flujo
Redirects externos
Características(cont.)
Provee un DSL para flujos
Nos permite administrar los ‘scopes’
Manejo de eventos
Definimos reglas de navegación
URL simples y limpias
     ’s
Validación del modelo(cliente y servidor)
Uso de Ajax para actualizaciones parciales de
página
¿Cómo implementarlo?
Necesitamos:
  Java 1.4 +>
  Spring 2.5.6 +>
Descargar la distribución correspondiente:
  http://www.springsource.org/download
  Maven
  SVN
    Hay que usar Ant para construirlo
Mejor con Maven!!!
        <properties>
	       	   <spring.version>3.0.2.RELEASE</spring.version>
	       	   <webflow.version>2.0.9.RELEASE</webflow.version>	   	
	       </properties>


             <dependency>
    	    	   	   <groupId>org.springframework.webflow</groupId>
    	    	   	   <artifactId>spring-webflow</artifactId>
    	    	   	   <version>${webflow.version}</version>
    	    	   </dependency>
    	    	   <dependency>
    	    	   	   <groupId>org.springframework.webflow</groupId>
    	    	   	   <artifactId>spring-binding</artifactId>
    	    	   	   <version>${webflow.version}</version>
    	    	   </dependency>
    	    	   <dependency>
    	    	   	   <groupId>org.springframework.webflow</groupId>
    	    	   	   <artifactId>spring-js</artifactId>
    	    	   	   <version>${webflow.version}</version>
    	    	   </dependency>
¿Qué es un flujo en SWF?
Una instancia que encapsula una secuencia de
pasos que pueden ser ejecutados en diferentes
contextos
Dichos pasos son llamados estados
Típicamente se podría pensar que un estado
es una vista
En los estados ocurren eventos
Elementos de un flujo
Section head
Section data(opcional)
Section body
Section footer(opcional)
Múltiples Scopes
flow
view
request
flash
conversation
Estados
start-state
action-state
view-state
decision-state
subflow-state
end-state
¿Qué es Spring Security?
Otro subproyecto de
Spring que provee
servicios de seguridad
para las aplicaciones
JEE
Enfatiza su uso en los
proyectos que están
basados en Spring
Permite asegurar
aplicaciones Web y
Servicios de negocio de
manera simple
•   HTTP BASIC
•   HTTP Digest                       • Java Open Source Single Sign On
                                          (JOSSO) *
•   HTTP X.509
•   LDAP                              • OpenNMS Network Management
                                          Platform *
•   Basada en formas
                                      •   AppFuse *
•   OpenID
                                      •   AndroMDA *
•   JA-SIG Central Authentication
    Service                           •   Mule ESB *

• Remote Method Invocation (RMI)      •   Direct Web Request (DWR) *
    and HttpInvoker                   •   Grails *
•   "remember-me" Automatico          •   Tapestry *
•   Anonymous                         •   JTrac *
•   Run-as                            •   Jasypt *
•   Java Authentication and           •   Roller *
    Authorization Service (JAAS)
                                      •   Elastic Path *
• JEE container                       •   Atlassian Crowd *
    autentication(Container Managed
    Authentication)                   •   Sistemas propios
• Kerberos
¿Cómo implementarlo?
Nuestro archivo de configuración xml con el
namespace de SpringSecurity
Un filtro HTTP en web.xml
Si personalizamos nuestra seguridad, debemos
implementar un conjunto de interfaces para
que las reconozca la configuración
¿Cómo implementarlo?
 Permite acceder a los objetos usados por
 Spring Security de forma más entendible
 Podemos usar el namespace de ‘security’ en
 lugar de usar ‘beans’
<beans xmlns="http://www.springframework.org/schema/beans"
	   xmlns:security="http://www.springframework.org/schema/security"
	   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	   xsi:schemaLocation="http://www.springframework.org/schema/beans
          http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
          http://www.springframework.org/schema/security
          http://www.springframework.org/schema/security/spring-security-3.0.xsd">
	
</beans>

<beans:beans xmlns="http://www.springframework.org/schema/security"
  xmlns:beans="http://www.springframework.org/schema/beans"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
           http://www.springframework.org/schema/security
           http://www.springframework.org/schema/security/spring-security-3.0.xsd">
    ...
</beans:beans>
Filtro de seguridad

    <filter>
	   	 <filter-name>springSecurityFilterChain</filter-name>
	   	 <filter-class>
	   	 	 org.springframework.web.filter.DelegatingFilterProxy
	   	 </filter-class>
	   </filter>

	   <filter-mapping>
	   	 <filter-name>springSecurityFilterChain</filter-name>
	   	 <url-pattern>/*</url-pattern>
	   </filter-mapping>
Configuración mínima
    <http auto-config='true'>
	   	 <intercept-url pattern="/**" access="ROLE_USER" />
	   </http>

	   <authentication-manager>
	   	 <authentication-provider>
	   	 	 <user-service>
	   	 	 	 <user name="neodevelop"
	   	 	 	 	 password="elmismo"
	   	 	 	 	 	 authorities="ROLE_USER, ROLE_ADMIN" />
	   	 	 	 <user name="domix"
	   	 	 	 	 password="contrase–a"
	   	 	 	 	 	 authorities="ROLE_USER" />
	   	 	 </user-service>
	   	 </authentication-provider>
	   </authentication-manager>
Asegurando URL’s

    <http auto-config='true'>
	   	 <intercept-url pattern="/css/**" filters="none" />
	   	 <intercept-url pattern="/login.jsp*" filters="none" />
	   	 <intercept-url pattern="/manager/**" access="ROLE_MANAGER" />
	   	 <intercept-url pattern="/**" access="ROLE_USER" />
	   	 <form-login login-page='/login.jsp' />
	   </http>
Encoders
    Agregando un encoder para el Password
      Soporta: sha, ssha, md4, md5, plaintext,
      sha-256
    <authentication-manager>
	   	 <authentication-provider>
	   	 <password-encoder hash="sha"/>
	   	 	 <user-service>
	   	 	 	 <user name="neodevelop"
	   	 	 	 password="388506c128cb9a841199f4dd574f4e586206fa93"
	   	 	 	 authorities="ROLE_USER, ROLE_ADMIN" />
	   	 	 	 <user name="domix"
	   	 	 	 password="175d4d507d683a39e44ef0abf4f627a1f6a1b2f1"
	   	 	 	 authorities="ROLE_USER" />
	   	 	 </user-service>
	   	 </authentication-provider>
	   </authentication-manager>
Taglibs
ifAllGranted
ifAnyGranted
ifNotGranted
Let’s code
Gracias!!!!
@neodevelop - springhispano.org
       @springhispano

Weitere ähnliche Inhalte

Was ist angesagt?

Grails: Aumenta tu productividad en tus aplicaciones web Java
Grails: Aumenta tu productividad en tus aplicaciones web JavaGrails: Aumenta tu productividad en tus aplicaciones web Java
Grails: Aumenta tu productividad en tus aplicaciones web JavaDani Latorre
 
Curso node.js
Curso node.js Curso node.js
Curso node.js Redradix
 
Extracción de datos de páginas web con Python (webscraping)
Extracción de datos de páginas web con Python (webscraping)Extracción de datos de páginas web con Python (webscraping)
Extracción de datos de páginas web con Python (webscraping)Ernesto Crespo
 
Cómo instalar un Servidor GIS utilizando el Framework GeoDjango (Django+Post...
Cómo instalar un Servidor GIS utilizando el Framework GeoDjango (Django+Post...Cómo instalar un Servidor GIS utilizando el Framework GeoDjango (Django+Post...
Cómo instalar un Servidor GIS utilizando el Framework GeoDjango (Django+Post...Guillermo Pizarro
 
Java 9, 10, 11 ,12, 13 and more
Java 9, 10, 11 ,12, 13 and moreJava 9, 10, 11 ,12, 13 and more
Java 9, 10, 11 ,12, 13 and moreHillmerC
 
Rompiendo paradigmas
Rompiendo paradigmasRompiendo paradigmas
Rompiendo paradigmasZuriel Diaz
 
Greach 2013 - Todo lo que me hubiera gustado saber cuando empecé a desarrolla...
Greach 2013 - Todo lo que me hubiera gustado saber cuando empecé a desarrolla...Greach 2013 - Todo lo que me hubiera gustado saber cuando empecé a desarrolla...
Greach 2013 - Todo lo que me hubiera gustado saber cuando empecé a desarrolla...Iván López Martín
 

Was ist angesagt? (14)

Grails
GrailsGrails
Grails
 
Introducción a Node.js
Introducción a Node.jsIntroducción a Node.js
Introducción a Node.js
 
Grails: Aumenta tu productividad en tus aplicaciones web Java
Grails: Aumenta tu productividad en tus aplicaciones web JavaGrails: Aumenta tu productividad en tus aplicaciones web Java
Grails: Aumenta tu productividad en tus aplicaciones web Java
 
Curso node.js
Curso node.js Curso node.js
Curso node.js
 
Introducción a groovy & grails
Introducción a groovy & grailsIntroducción a groovy & grails
Introducción a groovy & grails
 
Spring boot + spock
Spring boot + spockSpring boot + spock
Spring boot + spock
 
NodeJS
NodeJSNodeJS
NodeJS
 
Extracción de datos de páginas web con Python (webscraping)
Extracción de datos de páginas web con Python (webscraping)Extracción de datos de páginas web con Python (webscraping)
Extracción de datos de páginas web con Python (webscraping)
 
Instalación de Roller sobre Glassfish3
Instalación de Roller sobre Glassfish3Instalación de Roller sobre Glassfish3
Instalación de Roller sobre Glassfish3
 
Cómo instalar un Servidor GIS utilizando el Framework GeoDjango (Django+Post...
Cómo instalar un Servidor GIS utilizando el Framework GeoDjango (Django+Post...Cómo instalar un Servidor GIS utilizando el Framework GeoDjango (Django+Post...
Cómo instalar un Servidor GIS utilizando el Framework GeoDjango (Django+Post...
 
Java 9, 10, 11 ,12, 13 and more
Java 9, 10, 11 ,12, 13 and moreJava 9, 10, 11 ,12, 13 and more
Java 9, 10, 11 ,12, 13 and more
 
Rompiendo paradigmas
Rompiendo paradigmasRompiendo paradigmas
Rompiendo paradigmas
 
Semana 1 Introducción a Java
Semana 1   Introducción a JavaSemana 1   Introducción a Java
Semana 1 Introducción a Java
 
Greach 2013 - Todo lo que me hubiera gustado saber cuando empecé a desarrolla...
Greach 2013 - Todo lo que me hubiera gustado saber cuando empecé a desarrolla...Greach 2013 - Todo lo que me hubiera gustado saber cuando empecé a desarrolla...
Greach 2013 - Todo lo que me hubiera gustado saber cuando empecé a desarrolla...
 

Ähnlich wie 15a. Reunion de SpringHispano.org y grails.org.mx

SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVCSEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVCParadigma Digital
 
Apache click
Apache clickApache click
Apache clickntomasto
 
Hands-on Spring 3: The next generation
Hands-on Spring 3: The next generationHands-on Spring 3: The next generation
Hands-on Spring 3: The next generationSergi Almar i Graupera
 
Prueba De Aplicaciones Web con Selenium 2 y WebDriver
Prueba De Aplicaciones Web con Selenium 2 y WebDriverPrueba De Aplicaciones Web con Selenium 2 y WebDriver
Prueba De Aplicaciones Web con Selenium 2 y WebDriverDavid Gómez García
 
Taller integracion jsf spring
Taller integracion jsf springTaller integracion jsf spring
Taller integracion jsf springIBM
 
Asegúr@IT II - Seguridad En Iis7
Asegúr@IT II - Seguridad En Iis7Asegúr@IT II - Seguridad En Iis7
Asegúr@IT II - Seguridad En Iis7Chema Alonso
 
Modulo13 Web Services
Modulo13 Web ServicesModulo13 Web Services
Modulo13 Web ServicesEduardo
 
HTML Tour - Construyendo tu ecosistema de desarrollo Web
HTML Tour - Construyendo tu ecosistema de desarrollo WebHTML Tour - Construyendo tu ecosistema de desarrollo Web
HTML Tour - Construyendo tu ecosistema de desarrollo WebPlain Concepts
 
Esencia de Web Components
Esencia de Web ComponentsEsencia de Web Components
Esencia de Web ComponentsPedro J. Molina
 
Esencia de web components
Esencia de web componentsEsencia de web components
Esencia de web componentsPedro J. Molina
 

Ähnlich wie 15a. Reunion de SpringHispano.org y grails.org.mx (20)

SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVCSEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
 
Apache click
Apache clickApache click
Apache click
 
Servicios web
Servicios webServicios web
Servicios web
 
Servicios web
Servicios webServicios web
Servicios web
 
Servicios web
Servicios webServicios web
Servicios web
 
Hands-on Spring 3: The next generation
Hands-on Spring 3: The next generationHands-on Spring 3: The next generation
Hands-on Spring 3: The next generation
 
06. jsf (java server faces) (1)
06. jsf (java server faces) (1)06. jsf (java server faces) (1)
06. jsf (java server faces) (1)
 
ASP.NET MVC Workshop Día 3
ASP.NET MVC Workshop Día 3ASP.NET MVC Workshop Día 3
ASP.NET MVC Workshop Día 3
 
10.desarrollowebconjava
10.desarrollowebconjava10.desarrollowebconjava
10.desarrollowebconjava
 
Manual Basico De Struts
Manual Basico De StrutsManual Basico De Struts
Manual Basico De Struts
 
Primefaces
PrimefacesPrimefaces
Primefaces
 
Prueba De Aplicaciones Web con Selenium 2 y WebDriver
Prueba De Aplicaciones Web con Selenium 2 y WebDriverPrueba De Aplicaciones Web con Selenium 2 y WebDriver
Prueba De Aplicaciones Web con Selenium 2 y WebDriver
 
Taller integracion jsf spring
Taller integracion jsf springTaller integracion jsf spring
Taller integracion jsf spring
 
Asegúr@IT II - Seguridad En Iis7
Asegúr@IT II - Seguridad En Iis7Asegúr@IT II - Seguridad En Iis7
Asegúr@IT II - Seguridad En Iis7
 
Presentacion node
Presentacion nodePresentacion node
Presentacion node
 
Testing Android Security
Testing Android SecurityTesting Android Security
Testing Android Security
 
Modulo13 Web Services
Modulo13 Web ServicesModulo13 Web Services
Modulo13 Web Services
 
HTML Tour - Construyendo tu ecosistema de desarrollo Web
HTML Tour - Construyendo tu ecosistema de desarrollo WebHTML Tour - Construyendo tu ecosistema de desarrollo Web
HTML Tour - Construyendo tu ecosistema de desarrollo Web
 
Esencia de Web Components
Esencia de Web ComponentsEsencia de Web Components
Esencia de Web Components
 
Esencia de web components
Esencia de web componentsEsencia de web components
Esencia de web components
 

Mehr von Jose Juan R. Zuñiga

Mehr von Jose Juan R. Zuñiga (17)

Apps software development with Vert.X
Apps software development with Vert.XApps software development with Vert.X
Apps software development with Vert.X
 
A lil' of Groovy for Ruby developers
A lil' of Groovy for Ruby developersA lil' of Groovy for Ruby developers
A lil' of Groovy for Ruby developers
 
Herramientas para el desarrollo de software
Herramientas para el desarrollo de softwareHerramientas para el desarrollo de software
Herramientas para el desarrollo de software
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
 
Webapps testing with Groovy
Webapps testing with GroovyWebapps testing with Groovy
Webapps testing with Groovy
 
Creación de plugins con Grails
Creación de plugins con GrailsCreación de plugins con Grails
Creación de plugins con Grails
 
El desarrollador de software
El desarrollador de softwareEl desarrollador de software
El desarrollador de software
 
Groovy in Java7mx
Groovy in Java7mxGroovy in Java7mx
Groovy in Java7mx
 
Mirando hacia atrás: Retrospectivas
Mirando hacia atrás: RetrospectivasMirando hacia atrás: Retrospectivas
Mirando hacia atrás: Retrospectivas
 
Equipos en Scrum ¡oing!
Equipos en Scrum ¡oing!Equipos en Scrum ¡oing!
Equipos en Scrum ¡oing!
 
Integrando Groovy & Grails en el proceso de desarrollo
Integrando Groovy & Grails en el proceso de desarrolloIntegrando Groovy & Grails en el proceso de desarrollo
Integrando Groovy & Grails en el proceso de desarrollo
 
Creación de Builders y DSL's con Groovy
Creación de Builders y DSL's con GroovyCreación de Builders y DSL's con Groovy
Creación de Builders y DSL's con Groovy
 
El proceso de desarrollo con herramientas Open Source
El proceso de desarrollo con herramientas Open SourceEl proceso de desarrollo con herramientas Open Source
El proceso de desarrollo con herramientas Open Source
 
Introduccion a grails en Campusparty
Introduccion a grails en CampuspartyIntroduccion a grails en Campusparty
Introduccion a grails en Campusparty
 
Spring
SpringSpring
Spring
 
Spring Mvc Final
Spring Mvc FinalSpring Mvc Final
Spring Mvc Final
 
Creación de Plataformas
Creación de PlataformasCreación de Plataformas
Creación de Plataformas
 

Kürzlich hochgeladen

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
 
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
 
De Olmos Santiago_Dolores _ M1S3AI6.pptx
De Olmos Santiago_Dolores _ M1S3AI6.pptxDe Olmos Santiago_Dolores _ M1S3AI6.pptx
De Olmos Santiago_Dolores _ M1S3AI6.pptxdoloresolmosantiago
 
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUALJORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUALGuadalinfoHuscarGuad
 
NIVEL DE MADUREZ TECNOLÓGICA (TRL).pptx
NIVEL DE  MADUREZ TECNOLÓGICA (TRL).pptxNIVEL DE  MADUREZ TECNOLÓGICA (TRL).pptx
NIVEL DE MADUREZ TECNOLÓGICA (TRL).pptxjarniel1
 
CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .
CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .
CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .llocllajoaquinci00
 
¡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
 
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
 
Inteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicialInteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicialEducática
 
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
 
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
 
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
 
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...Luis Fernando Uribe Villamil
 
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
 
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
 
proyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptualesproyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptualesssuserbe0d1c
 
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
 
TELECOMUNICACIONES- CAPITULO2: Modelo Osi ccna
TELECOMUNICACIONES- CAPITULO2: Modelo Osi ccnaTELECOMUNICACIONES- CAPITULO2: Modelo Osi ccna
TELECOMUNICACIONES- CAPITULO2: Modelo Osi ccnajrujel91
 
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
 

Kürzlich hochgeladen (20)

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
 
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...
 
De Olmos Santiago_Dolores _ M1S3AI6.pptx
De Olmos Santiago_Dolores _ M1S3AI6.pptxDe Olmos Santiago_Dolores _ M1S3AI6.pptx
De Olmos Santiago_Dolores _ M1S3AI6.pptx
 
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUALJORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
 
NIVEL DE MADUREZ TECNOLÓGICA (TRL).pptx
NIVEL DE  MADUREZ TECNOLÓGICA (TRL).pptxNIVEL DE  MADUREZ TECNOLÓGICA (TRL).pptx
NIVEL DE MADUREZ TECNOLÓGICA (TRL).pptx
 
CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .
CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .
CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .
 
¡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
 
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
 
Inteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicialInteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicial
 
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
 
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
 
BUSCADORES DE INTERNET (Universidad de Sonora).
BUSCADORES DE INTERNET (Universidad de Sonora).BUSCADORES DE INTERNET (Universidad de Sonora).
BUSCADORES DE INTERNET (Universidad de Sonora).
 
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
 
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
 
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
 
proyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptualesproyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptuales
 
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
 
TELECOMUNICACIONES- CAPITULO2: Modelo Osi ccna
TELECOMUNICACIONES- CAPITULO2: Modelo Osi ccnaTELECOMUNICACIONES- CAPITULO2: Modelo Osi ccna
TELECOMUNICACIONES- CAPITULO2: Modelo Osi ccna
 
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 .
 

15a. Reunion de SpringHispano.org y grails.org.mx

  • 1. Spring WebFlow 2 & Spring Security 3 15a. Reunión de SpringHispano.org y grails.org.mx (sábado 8 de mayo del 2010)
  • 2. Agenda ¿Qué es Spring Web Flow? Características ¿Cómo implementarlo? ¿Qué es Spring Security? Características ¿Cómo implementarlo? Conjuntarlos
  • 3. ¿Qué es Spring Web Flow? Sub-proyecto de Spring Es un motor para flujos Web que se pueden conectar con SpringMVC Es un manera de reutilizar una secuencia de vistas relacionadas Es una manera elegante de resolver los problemas de la vista
  • 4. Características NO es un workflow Crea aplicaciones web conversacionales Todos los flujos de captura de datos son candidatos a ser introducidos a un flujo Se integra con SpringMVC y JSF Los flujos son reusables Binding automático del modelo Soporta ‘expression language’(OGNL & Unified EL) Scope Flash Administración de la persistencia en el flujo Redirects externos
  • 5. Características(cont.) Provee un DSL para flujos Nos permite administrar los ‘scopes’ Manejo de eventos Definimos reglas de navegación URL simples y limpias ’s Validación del modelo(cliente y servidor) Uso de Ajax para actualizaciones parciales de página
  • 6. ¿Cómo implementarlo? Necesitamos: Java 1.4 +> Spring 2.5.6 +> Descargar la distribución correspondiente: http://www.springsource.org/download Maven SVN Hay que usar Ant para construirlo
  • 7.
  • 8. Mejor con Maven!!! <properties> <spring.version>3.0.2.RELEASE</spring.version> <webflow.version>2.0.9.RELEASE</webflow.version> </properties> <dependency> <groupId>org.springframework.webflow</groupId> <artifactId>spring-webflow</artifactId> <version>${webflow.version}</version> </dependency> <dependency> <groupId>org.springframework.webflow</groupId> <artifactId>spring-binding</artifactId> <version>${webflow.version}</version> </dependency> <dependency> <groupId>org.springframework.webflow</groupId> <artifactId>spring-js</artifactId> <version>${webflow.version}</version> </dependency>
  • 9. ¿Qué es un flujo en SWF? Una instancia que encapsula una secuencia de pasos que pueden ser ejecutados en diferentes contextos Dichos pasos son llamados estados Típicamente se podría pensar que un estado es una vista En los estados ocurren eventos
  • 10. Elementos de un flujo Section head Section data(opcional) Section body Section footer(opcional)
  • 13. ¿Qué es Spring Security? Otro subproyecto de Spring que provee servicios de seguridad para las aplicaciones JEE Enfatiza su uso en los proyectos que están basados en Spring Permite asegurar aplicaciones Web y Servicios de negocio de manera simple
  • 14. HTTP BASIC • HTTP Digest • Java Open Source Single Sign On (JOSSO) * • HTTP X.509 • LDAP • OpenNMS Network Management Platform * • Basada en formas • AppFuse * • OpenID • AndroMDA * • JA-SIG Central Authentication Service • Mule ESB * • Remote Method Invocation (RMI) • Direct Web Request (DWR) * and HttpInvoker • Grails * • "remember-me" Automatico • Tapestry * • Anonymous • JTrac * • Run-as • Jasypt * • Java Authentication and • Roller * Authorization Service (JAAS) • Elastic Path * • JEE container • Atlassian Crowd * autentication(Container Managed Authentication) • Sistemas propios • Kerberos
  • 15. ¿Cómo implementarlo? Nuestro archivo de configuración xml con el namespace de SpringSecurity Un filtro HTTP en web.xml Si personalizamos nuestra seguridad, debemos implementar un conjunto de interfaces para que las reconozca la configuración
  • 16. ¿Cómo implementarlo? Permite acceder a los objetos usados por Spring Security de forma más entendible Podemos usar el namespace de ‘security’ en lugar de usar ‘beans’ <beans xmlns="http://www.springframework.org/schema/beans" xmlns:security="http://www.springframework.org/schema/security" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.0.xsd"> </beans> <beans:beans xmlns="http://www.springframework.org/schema/security" xmlns:beans="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.0.xsd"> ... </beans:beans>
  • 17. Filtro de seguridad <filter> <filter-name>springSecurityFilterChain</filter-name> <filter-class> org.springframework.web.filter.DelegatingFilterProxy </filter-class> </filter> <filter-mapping> <filter-name>springSecurityFilterChain</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
  • 18. Configuración mínima <http auto-config='true'> <intercept-url pattern="/**" access="ROLE_USER" /> </http> <authentication-manager> <authentication-provider> <user-service> <user name="neodevelop" password="elmismo" authorities="ROLE_USER, ROLE_ADMIN" /> <user name="domix" password="contrase–a" authorities="ROLE_USER" /> </user-service> </authentication-provider> </authentication-manager>
  • 19. Asegurando URL’s <http auto-config='true'> <intercept-url pattern="/css/**" filters="none" /> <intercept-url pattern="/login.jsp*" filters="none" /> <intercept-url pattern="/manager/**" access="ROLE_MANAGER" /> <intercept-url pattern="/**" access="ROLE_USER" /> <form-login login-page='/login.jsp' /> </http>
  • 20. Encoders Agregando un encoder para el Password Soporta: sha, ssha, md4, md5, plaintext, sha-256 <authentication-manager> <authentication-provider> <password-encoder hash="sha"/> <user-service> <user name="neodevelop" password="388506c128cb9a841199f4dd574f4e586206fa93" authorities="ROLE_USER, ROLE_ADMIN" /> <user name="domix" password="175d4d507d683a39e44ef0abf4f627a1f6a1b2f1" authorities="ROLE_USER" /> </user-service> </authentication-provider> </authentication-manager>

Hinweis der Redaktion