Ver Mensaje Individual
  #2 (permalink)  
Antiguo 25/03/2013, 12:23
Avatar de fhederico
fhederico
 
Fecha de Ingreso: agosto-2009
Mensajes: 247
Antigüedad: 14 años, 8 meses
Puntos: 23
Respuesta: Loguear a un Usuario luego de registrarse

Bueno, despues de mas 8 horas de leer y leer, logre hacerlo, encontre mucha mas informacion en foros gringos, san google ayudando que mi ingles es horrible, les dejo la solucion por si a alguien mas le sirve


Desde mi controller

Código HTML:
Ver original
  1. $entity = new Candidato();
  2.  
  3. //...
  4.  
  5. //Iniciamos la sesion
  6. $this->authenticateUser($entity, 'prueba');


Y la funcion respectiva


Código HTML:
Ver original
  1. private function authenticateUser(UserInterface $user, $providerKey)
  2.     {
  3.         $token = new UsernamePasswordToken($user, null, $providerKey, $user->getRoles());
  4.         $this->container->get('security.context')->setToken($token);
  5.         $session = $this->getRequest()->getSession();
  6.         $session->set('_security_'.$providerKey,serialize($token));
  7.     }

Cabe mencionar que el parametro pasado "prueba" desde el controller es como se llama en mi archivo "security" el firewall


Código HTML:
Ver original
  1. security:
  2.      firewalls:
  3.         prueba: #Este es el nombre que estoy enviando
  4.             pattern:    ^/prueba
  5.             form_login:
  6.                 provider: user_db
  7.                 login_path: /prueba/login
  8.                 check_path: /prueba/login_check
  9.                 default_target_path: /prueba/home
  10.             logout:
  11.                 path:   /prueba/logout
  12.                 target: /prueba/loginOFF
  13.             remember_me:
  14.                 key:      %secret%
  15.                 lifetime: %life_time%
  16.                 path:     /
  17.                 domain:   ~ # Defaults to the current domain from $_SERVER


A y por ultimo, hay que llamar a las librerias requeridas

Código HTML:
Ver original
  1. use Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken;
  2. use Symfony\Component\Security\Core\User\UserInterface;


Eso seria... gracias... gracias... no se molesten...