Sistema Login con Symfony2

kraneok

Sigo con Symfony2 amigos.
No logro crear un sistema de login recuperando los usuarios y los roles desde la base de datos. En principio ya lo he hecho cargando usuarios en memoria desde security.yml, pero por mas que leo, pruebo y pruebo, no consigo hacerlo desde la base de datos.

Lo que mas me he acercado ha sido, que al hacer login me daba un error de no poder utilizar el método getRole() de un objeto no creado. He estado intentando buscar un poco en las tripas del asunto para ver como lo hace pero es bastante complicado.

A ver si alguien me puede echar una manilla.

Un saludo.

m3l0

#1 yo lo tengo asi:

security.yml:

spoiler

un security controller:

spoiler

la entidad usuario:

spoiler

entidad rol:

spoiler
2 respuestas
kraneok

#2 Ya lo conseguí utilizando un UserProvider, como Sension indica, espero que no esté mal así. De todos modos muchas gracias. :D

kraneok

#2 Tio una pregunta, el tema de las sessiones como lo hace Symfony2. ¿ Lo hace internamente también ?, ¿ como recupero el usuario que está logeado ?, etc.. xD

2 respuestas
KoRMuZ

Para recuperar el user, #4, $this->getUser() en un controller, o app.user en un template.

Si quieres un sistema de usuarios ya hecho (porque quieras usarlo, no porque quieras aprender cómo se hace), búscate el FOS User Bundle. Todo comido y servido.

2 respuestas
m3l0

#4 como te dice #5
también en twig puedes usar la función

is_granted("ROLE_USER")

sin necesitar el app.user

1 respuesta
kraneok

#5 #6 A ver, yo he ido creando mi propio Bundle de login, he ido siguiendo las recomendaciones de SensionsLab. Soy muy tonto, no había caído en la variable app.user, pf..., ahí esta todo, para eso servirán los métodos serialized y tal xD

Usuarios habituales

  • kraneok
  • m3l0
  • KoRMuZ