Spring WebFlow 2
        & Spring Security 3
15a. Reunión de SpringHispano.org y grails.org.mx
           (sábado 8 de may...
Agenda
¿Qué es Spring Web Flow?
Características
¿Cómo implementarlo?
¿Qué es Spring Security?
Características
¿Cómo implem...
¿Qué es Spring Web Flow?
Sub-proyecto de Spring
Es un motor para flujos
Web que se pueden
conectar con
SpringMVC
Es un mane...
Características
NO es un workflow
Crea aplicaciones web conversacionales
Todos los flujos de captura de datos son candidatos...
Características(cont.)
Provee un DSL para flujos
Nos permite administrar los ‘scopes’
Manejo de eventos
Definimos reglas de ...
¿Cómo implementarlo?
Necesitamos:
  Java 1.4 +>
  Spring 2.5.6 +>
Descargar la distribución correspondiente:
  http://www....
Mejor con Maven!!!
        <properties>
	       	   <spring.version>3.0.2.RELEASE</spring.version>
	       	   <webflow.ve...
¿Qué es un flujo en SWF?
Una instancia que encapsula una secuencia de
pasos que pueden ser ejecutados en diferentes
context...
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 s...
•   HTTP BASIC
•   HTTP Digest                       • Java Open Source Single Sign On
                                   ...
¿Cómo implementarlo?
Nuestro archivo de configuración xml con el
namespace de SpringSecurity
Un filtro HTTP en web.xml
Si pe...
¿Cómo implementarlo?
 Permite acceder a los objetos usados por
 Spring Security de forma más entendible
 Podemos usar el n...
Filtro de seguridad

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

	 ...
Asegurando URL’s

    <http auto-config='true'>
	   	 <intercept-url pattern="/css/**" filters="none" />
	   	 <intercept-...
Encoders
    Agregando un encoder para el Password
      Soporta: sha, ssha, md4, md5, plaintext,
      sha-256
    <authe...
Taglibs
ifAllGranted
ifAnyGranted
ifNotGranted
Let’s code
Gracias!!!!
@neodevelop - springhispano.org
       @springhispano
15a. Reunion de SpringHispano.org y grails.org.mx
Upcoming SlideShare
Loading in...5
×

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

1,649

Published on

Esta es la presentación que mostré en la 15a. Reunión de la comunidad de sh.org y grails.org.mx
Mostrando brevemente Spring Web Flow 2 y Spring Security 3

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,649
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
26
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide























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

    1. 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. 2. Agenda ¿Qué es Spring Web Flow? Características ¿Cómo implementarlo? ¿Qué es Spring Security? Características ¿Cómo implementarlo? Conjuntarlos
    3. 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. 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. 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. 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. 7. 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>
    8. 8. ¿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
    9. 9. Elementos de un flujo Section head Section data(opcional) Section body Section footer(opcional)
    10. 10. Múltiples Scopes flow view request flash conversation
    11. 11. Estados start-state action-state view-state decision-state subflow-state end-state
    12. 12. ¿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
    13. 13. • 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
    14. 14. ¿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
    15. 15. ¿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>
    16. 16. 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>
    17. 17. 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>
    18. 18. 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>
    19. 19. 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>
    20. 20. Taglibs ifAllGranted ifAnyGranted ifNotGranted
    21. 21. Let’s code
    22. 22. Gracias!!!! @neodevelop - springhispano.org @springhispano
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×