SlideShare a Scribd company logo
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
15a. Reunion de SpringHispano.org y grails.org.mx
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

More Related Content

What's hot

Grails
GrailsGrails
Introducción a Node.js
Introducción a Node.jsIntroducción a Node.js
Introducción a Node.js
José Ignacio Fernández
 
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
Dani Latorre
 
Curso node.js
Curso node.js Curso node.js
Curso node.js
Redradix
 
Introducción a groovy & grails
Introducción a groovy & grailsIntroducción a groovy & grails
Introducción a groovy & grails
Fátima Casaú Pérez
 
Spring boot + spock
Spring boot + spockSpring boot + spock
Spring boot + spock
Fátima Casaú Pérez
 
NodeJS
NodeJSNodeJS
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
 
Instalación de Roller sobre Glassfish3
Instalación de Roller sobre Glassfish3Instalación de Roller sobre Glassfish3
Instalación de Roller sobre Glassfish3
Juan Luis Dorante Lucas
 
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 more
HillmerC
 
Rompiendo paradigmas
Rompiendo paradigmasRompiendo paradigmas
Rompiendo paradigmas
Zuriel Diaz
 
Semana 1 Introducción a Java
Semana 1   Introducción a JavaSemana 1   Introducción a Java
Semana 1 Introducción a Java
Richard Eliseo Mendoza Gafaro
 
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
 

What's hot (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...
 

Similar to 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 MVC
Paradigma Digital
 
Apache click
Apache clickApache click
Apache click
ntomasto
 
Servicios web
Servicios webServicios web
Servicios web
Servicios webServicios web
Servicios web
Joel Balderrama Rosas
 
Servicios web
Servicios webServicios web
Servicios web
Joel Balderrama Rosas
 
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
Sergi Almar i Graupera
 
06. jsf (java server faces) (1)
06. jsf (java server faces) (1)06. jsf (java server faces) (1)
06. jsf (java server faces) (1)
Michael Mieles Caballero
 
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
Rodolfo Finochietti
 
10.desarrollowebconjava
10.desarrollowebconjava10.desarrollowebconjava
10.desarrollowebconjava
Jose Luis Carrasco Comonfort
 
Manual Basico De Struts
Manual Basico De StrutsManual Basico De Struts
Manual Basico De Struts
carlossanchezvillena
 
Primefaces
PrimefacesPrimefaces
Primefaces
Vortexbird
 
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
David Gómez García
 
Taller integracion jsf spring
Taller integracion jsf springTaller integracion jsf spring
Taller integracion jsf spring
IBM
 
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
Chema Alonso
 
Presentacion node
Presentacion nodePresentacion node
Presentacion node
Luis Vilches
 
Testing Android Security
Testing Android SecurityTesting Android Security
Testing Android Security
Jose Manuel Ortega Candel
 
Modulo13 Web Services
Modulo13 Web ServicesModulo13 Web Services
Modulo13 Web Services
Eduardo
 
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
Plain Concepts
 
Esencia de Web Components
Esencia de Web ComponentsEsencia de Web Components
Esencia de Web Components
Pedro J. Molina
 
Esencia de web components
Esencia de web componentsEsencia de web components
Esencia de web components
Pedro J. Molina
 

Similar to 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
 

More from Jose Juan R. Zuñiga

Apps software development with Vert.X
Apps software development with Vert.XApps software development with Vert.X
Apps software development with Vert.X
Jose Juan R. Zuñiga
 
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
Jose Juan R. Zuñiga
 
Herramientas para el desarrollo de software
Herramientas para el desarrollo de softwareHerramientas para el desarrollo de software
Herramientas para el desarrollo de software
Jose Juan R. Zuñiga
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
Jose Juan R. Zuñiga
 
Webapps testing with Groovy
Webapps testing with GroovyWebapps testing with Groovy
Webapps testing with Groovy
Jose Juan R. Zuñiga
 
Creación de plugins con Grails
Creación de plugins con GrailsCreación de plugins con Grails
Creación de plugins con Grails
Jose Juan R. Zuñiga
 
El desarrollador de software
El desarrollador de softwareEl desarrollador de software
El desarrollador de software
Jose Juan R. Zuñiga
 
Groovy in Java7mx
Groovy in Java7mxGroovy in Java7mx
Groovy in Java7mx
Jose Juan R. Zuñiga
 
Mirando hacia atrás: Retrospectivas
Mirando hacia atrás: RetrospectivasMirando hacia atrás: Retrospectivas
Mirando hacia atrás: Retrospectivas
Jose Juan R. Zuñiga
 
Equipos en Scrum ¡oing!
Equipos en Scrum ¡oing!Equipos en Scrum ¡oing!
Equipos en Scrum ¡oing!
Jose Juan R. Zuñiga
 
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
Jose Juan R. Zuñiga
 
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
Jose Juan R. Zuñiga
 
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
Jose Juan R. Zuñiga
 
Introduccion a grails en Campusparty
Introduccion a grails en CampuspartyIntroduccion a grails en Campusparty
Introduccion a grails en Campusparty
Jose Juan R. Zuñiga
 
Spring
SpringSpring
Spring Mvc Final
Spring Mvc FinalSpring Mvc Final
Spring Mvc Final
Jose Juan R. Zuñiga
 
Creación de Plataformas
Creación de PlataformasCreación de Plataformas
Creación de Plataformas
Jose Juan R. Zuñiga
 

More from 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
 

Recently uploaded

Catalogo-Voxtech- accesorios radios RF.pdf
Catalogo-Voxtech- accesorios radios RF.pdfCatalogo-Voxtech- accesorios radios RF.pdf
Catalogo-Voxtech- accesorios radios RF.pdf
walter729637
 
SEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docx
SEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docxSEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docx
SEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docx
Eddy Nathaly Jaimes Villamizar
 
Diapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptx
Diapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptxDiapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptx
Diapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptx
GnesisOrtegaDeLen
 
Informe_mc_bombas_Warman_001-WEIR vulco.pdf
Informe_mc_bombas_Warman_001-WEIR vulco.pdfInforme_mc_bombas_Warman_001-WEIR vulco.pdf
Informe_mc_bombas_Warman_001-WEIR vulco.pdf
Rubén Cortes Zavala
 
590248542-Pruebas-de-auditoria-informatica.pdf
590248542-Pruebas-de-auditoria-informatica.pdf590248542-Pruebas-de-auditoria-informatica.pdf
590248542-Pruebas-de-auditoria-informatica.pdf
ivanbrito1105
 
2 FIBRA OPTICA COMO MEDIO DE RED DE ACCESO.pptx
2 FIBRA OPTICA COMO MEDIO DE RED DE ACCESO.pptx2 FIBRA OPTICA COMO MEDIO DE RED DE ACCESO.pptx
2 FIBRA OPTICA COMO MEDIO DE RED DE ACCESO.pptx
bellomiguelangel68
 
11. Legislación Aplicada a la Informática.pdf
11. Legislación Aplicada a la Informática.pdf11. Legislación Aplicada a la Informática.pdf
11. Legislación Aplicada a la Informática.pdf
PanchoChangue
 
DN Consultores | Una mirada al mercado de fibra en Perú
DN Consultores | Una mirada al mercado de fibra en PerúDN Consultores | Una mirada al mercado de fibra en Perú
DN Consultores | Una mirada al mercado de fibra en Perú
estudios22
 
Generaciones de Computadoras .
Generaciones de Computadoras                 .Generaciones de Computadoras                 .
Generaciones de Computadoras .
gregory760891
 
Evolución, características, aplicación, ventajas y desventajas de las TIC
Evolución, características, aplicación, ventajas y desventajas de las TICEvolución, características, aplicación, ventajas y desventajas de las TIC
Evolución, características, aplicación, ventajas y desventajas de las TIC
Henry W. Zavala
 
_Manejo de Riesgos en el Laboratorio.pdf
_Manejo de Riesgos en el Laboratorio.pdf_Manejo de Riesgos en el Laboratorio.pdf
_Manejo de Riesgos en el Laboratorio.pdf
correodetareas
 
PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)
PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)
PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)
ADELAIDA90
 
Catálogo LG de lavadora de ropa , manual
Catálogo LG de lavadora de ropa , manualCatálogo LG de lavadora de ropa , manual
Catálogo LG de lavadora de ropa , manual
RobertoAlvarez835593
 
TESisssssssss de yhnnjuuhjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj...
TESisssssssss de yhnnjuuhjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj...TESisssssssss de yhnnjuuhjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj...
TESisssssssss de yhnnjuuhjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj...
MenaOlortinYherlyEli
 
Transporte a través del tiempo en el perú.pdf
Transporte a través del tiempo en el perú.pdfTransporte a través del tiempo en el perú.pdf
Transporte a través del tiempo en el perú.pdf
milagrosAlbanPacherr
 
"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra
"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra
"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra
241578066
 
Conceptos y definiciones de Antenas y propagación
Conceptos y definiciones de Antenas y propagaciónConceptos y definiciones de Antenas y propagación
Conceptos y definiciones de Antenas y propagación
edgarcalle8
 
DE LO HUMANO Y LO COMUNITARIO PROYECTO INTEGRADOR (2).docx
DE LO HUMANO Y LO COMUNITARIO PROYECTO INTEGRADOR (2).docxDE LO HUMANO Y LO COMUNITARIO PROYECTO INTEGRADOR (2).docx
DE LO HUMANO Y LO COMUNITARIO PROYECTO INTEGRADOR (2).docx
lourdesuribe6
 
El uso de las TIC en la vida cotidiana.pptx
El uso de las TIC en la vida cotidiana.pptxEl uso de las TIC en la vida cotidiana.pptx
El uso de las TIC en la vida cotidiana.pptx
Katia Reyes
 
Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...
Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...
Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...
Telefónica
 

Recently uploaded (20)

Catalogo-Voxtech- accesorios radios RF.pdf
Catalogo-Voxtech- accesorios radios RF.pdfCatalogo-Voxtech- accesorios radios RF.pdf
Catalogo-Voxtech- accesorios radios RF.pdf
 
SEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docx
SEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docxSEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docx
SEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docx
 
Diapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptx
Diapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptxDiapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptx
Diapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptx
 
Informe_mc_bombas_Warman_001-WEIR vulco.pdf
Informe_mc_bombas_Warman_001-WEIR vulco.pdfInforme_mc_bombas_Warman_001-WEIR vulco.pdf
Informe_mc_bombas_Warman_001-WEIR vulco.pdf
 
590248542-Pruebas-de-auditoria-informatica.pdf
590248542-Pruebas-de-auditoria-informatica.pdf590248542-Pruebas-de-auditoria-informatica.pdf
590248542-Pruebas-de-auditoria-informatica.pdf
 
2 FIBRA OPTICA COMO MEDIO DE RED DE ACCESO.pptx
2 FIBRA OPTICA COMO MEDIO DE RED DE ACCESO.pptx2 FIBRA OPTICA COMO MEDIO DE RED DE ACCESO.pptx
2 FIBRA OPTICA COMO MEDIO DE RED DE ACCESO.pptx
 
11. Legislación Aplicada a la Informática.pdf
11. Legislación Aplicada a la Informática.pdf11. Legislación Aplicada a la Informática.pdf
11. Legislación Aplicada a la Informática.pdf
 
DN Consultores | Una mirada al mercado de fibra en Perú
DN Consultores | Una mirada al mercado de fibra en PerúDN Consultores | Una mirada al mercado de fibra en Perú
DN Consultores | Una mirada al mercado de fibra en Perú
 
Generaciones de Computadoras .
Generaciones de Computadoras                 .Generaciones de Computadoras                 .
Generaciones de Computadoras .
 
Evolución, características, aplicación, ventajas y desventajas de las TIC
Evolución, características, aplicación, ventajas y desventajas de las TICEvolución, características, aplicación, ventajas y desventajas de las TIC
Evolución, características, aplicación, ventajas y desventajas de las TIC
 
_Manejo de Riesgos en el Laboratorio.pdf
_Manejo de Riesgos en el Laboratorio.pdf_Manejo de Riesgos en el Laboratorio.pdf
_Manejo de Riesgos en el Laboratorio.pdf
 
PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)
PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)
PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)
 
Catálogo LG de lavadora de ropa , manual
Catálogo LG de lavadora de ropa , manualCatálogo LG de lavadora de ropa , manual
Catálogo LG de lavadora de ropa , manual
 
TESisssssssss de yhnnjuuhjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj...
TESisssssssss de yhnnjuuhjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj...TESisssssssss de yhnnjuuhjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj...
TESisssssssss de yhnnjuuhjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj...
 
Transporte a través del tiempo en el perú.pdf
Transporte a través del tiempo en el perú.pdfTransporte a través del tiempo en el perú.pdf
Transporte a través del tiempo en el perú.pdf
 
"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra
"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra
"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra
 
Conceptos y definiciones de Antenas y propagación
Conceptos y definiciones de Antenas y propagaciónConceptos y definiciones de Antenas y propagación
Conceptos y definiciones de Antenas y propagación
 
DE LO HUMANO Y LO COMUNITARIO PROYECTO INTEGRADOR (2).docx
DE LO HUMANO Y LO COMUNITARIO PROYECTO INTEGRADOR (2).docxDE LO HUMANO Y LO COMUNITARIO PROYECTO INTEGRADOR (2).docx
DE LO HUMANO Y LO COMUNITARIO PROYECTO INTEGRADOR (2).docx
 
El uso de las TIC en la vida cotidiana.pptx
El uso de las TIC en la vida cotidiana.pptxEl uso de las TIC en la vida cotidiana.pptx
El uso de las TIC en la vida cotidiana.pptx
 
Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...
Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...
Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...
 

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
  • 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>

Editor's Notes