Your SlideShare is downloading. ×
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Desglosando el componente de seguridad

1,310

Published on

Internals del componente de seguridad de Syfmony

Internals del componente de seguridad de Syfmony

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,310
On Slideshare
0
From Embeds
0
Number of Embeds
11
Actions
Shares
0
Downloads
34
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. 20-22 junio 2013Madrid
  • 2. Joan TeixidóDesarrollador backend en Onfan.com
  • 3. gracias a mi familia...
  • 4. gracias a...@kriswallsmith
  • 5. ¿Por qué?
  • 6. Objetivo• Entender el flujo del componente deseguridad• Conocer cuales son los protagonistas queintervienen en todo el proceso
  • 7. autentificación<->autorización
  • 8. kernel.request kernel.responsekernel.controller kernel.viewsecurity listenerHttpKernelkernel.exceptionsecurity listener
  • 9. FirewallEs solo un listener queescucha al kernel.request
  • 10. routerfirewalletc..kernel.request
  • 11. listener Afirewalllistener Bener CAuthenticationProviderAuthenticationProvider ManagerUserProvider
  • 12. Firewall & FirewallMap
  • 13. Firewall
  • 14. firewallkernel.requestlisteners
  • 15. FirewallMap• Contiene mapa de requestMatcher,colección de listeners y una exceptionlistener• Devuelve la colección de listeners yexcepción en caso de coincidir la ruta
  • 16. Firewall• Escucha al kernel.request• Mapea las rutas que requieren delcomponent de seguridad• Ejecuta una batería de listeners si coincidela ruta del request• Añade al dispatcher un exceptionListener
  • 17. listener Afirewalllistener Bener CAuthenticationProviderAuthenticationProvider ManagerUserProviderRSecurity Context
  • 18. Security ListenersListeners asociados al firewallMap.Implementan ListenerInterface.Contienen el método:function handle(GetResponseEvent $event) { }
  • 19. Listeners
  • 20. Security Listeners
  • 21. ¿Qué tienen en común?¿Qué más pueden hacer?¿Cuándo se ejecutan?
  • 22. Security Listeners• Context Listener -> se ocupa de la persistencia en sesión• UsernamePasswordFormAuthenticationListener -> logueauser• AnonymousAuthenticationListener -> crea token anonimo• AccesListener -> maneja el acceso (autorización)• BasicAuthenticationListener -> login por basic headers• SwitchUserListener• ChannelListener• LogoutListener• RememberMeListener
  • 23. listenerfirewallauthenticatetokensecurity context• Tienen estados: autenticado /no autenticado• Guarda la información del usuario• Guarda los roles de los usuarios• Almacena el token• Capacidad para autenticar• Puede autorizar un tokentokensecurity context
  • 24. listener Afirewalllistener BAuthenticationProviderManageristener C
  • 25. Authentication Manager
  • 26. listener Afirewalllistener Bener CAuthenticationProviderAuthenticationProvider Manager
  • 27. User Authentication Provider
  • 28. listener Afirewalllistener Bener CAuthenticationProviderAuthenticationProvider ManagerUserProvider
  • 29. User Provider
  • 30. Authentication Manager• LLama al authentication provider con el token sólo si eltoken sirve para ese provider• Maneja las excepcioneslistenermanagerUser Authentication Provider• LLama al user provider y obtiene el usuario.• Valida el usuario (chequea password y otros controles)• Marca el token como autenticado y lo devuelve• Busca el usuario en el repositorio de usuarios (BD, file, service)User Provider
  • 31. listener Afirewalllistener Bener CAuthenticationProviderAuthenticationProvider ManagerUserProvider
  • 32. Autorización• Proceso por el que damos permiso a unusuario autenticado a acceder a undeterminado recurso
  • 33. listener AfirewallAutorizaciónener CAccess Decision Manager VotersAccess MapAccess Listener
  • 34. Access Listener
  • 35. Access Map
  • 36. Access Decision Manager
  • 37. Voters
  • 38. ¿Tipos de voters?AclVoterAuthenticatedVoterRoleVoter
  • 39. listener AfirewallAutorizaciónener CAccess Decision Manager VotersAccess MapAccess Listener
  • 40. nuevo en symfony 2.4
  • 41. finhttps://joind.in/8836http://symfony.com/video/1/security-in-real-life/Englishhttp://www.slideshare.net/kriswallsmith/love-and-loss-a-symfony-security-play

×