Foros del Web » Programando para Internet » PHP » Symfony »

Obtener una $_SESSION desde symfony2

Estas en el tema de Obtener una $_SESSION desde symfony2 en el foro de Symfony en Foros del Web. Hola, Tengo un problema con las sesiones desde hace unos días y no le encuentro solución por ningún lado. Tengo un login que sea realizó ...
  #1 (permalink)  
Antiguo 24/04/2015, 10:18
 
Fecha de Ingreso: abril-2015
Ubicación: Mérida
Mensajes: 2
Antigüedad: 9 años
Puntos: 0
Pregunta Obtener una $_SESSION desde symfony2

Hola,
Tengo un problema con las sesiones desde hace unos días y no le encuentro solución por ningún lado.

Tengo un login que sea realizó con php limpio, este login genera una sesión y la guarda en la base de datos, para eso se modifican los "handlers". Ahora estoy realizando una aplicación en symfony y necesito obtener esta sesión de la base de datos, para eso tengo este código:
Código PHP:
    // Este archivo modifica los "handlers" de la sesión para leer/escribir la base de datos
    
include auth.php;
    
    if (
$_SESSION != null) {
        
$session $request->getSession();
       
        foreach (
$_SESSION as $key => $value) {

                
// Evitamos duplicar las sesiones donde guarda la info symfony
                
if ($key !== '_sf2_attributes' &&
                    
$key !== '_sf2_flashes' &&
                    
$key !== '_sf2_meta') {

                    
// Guardamos nuestros datos en sesiones
                    
$session->set($key$value);
                }
            }
        } 
Este código es un extracto del original, pero básicamente esto es lo que hago, yo se que no es lo mejor pero soy nuevo en symfony y no encontré otra forma de hacerlo...

Después de esto en alguna otra ruta, la que sea, quiero obtener mi sesión que previamente guarde y el resultado es null. También note que en la base de datos se sobreescribe mi sesión por la de symfony:
Código PHP:
array(3) {
  [
"_sf2_attributes"]=>
  array(
0) {
  }
  [
"_sf2_flashes"]=>
  array(
0) {
  }
  [
"_sf2_meta"]=>
  array(
3) {
    [
"u"]=>
    
int(1429868058)
    [
"c"]=>
    
int(1429868025)
    [
"l"]=>
    
string(1"0"
  
}

Yo pienso que el problema es que al modificar los "handlers" desde el archivo "auth.php" también se modifican los de symfony.
  #2 (permalink)  
Antiguo 24/04/2015, 11:09
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Obtener una $_SESSION desde symfony2

No entiendo por que tienes el login fuera de symfony.
Symfony soporta el almacenamiento de sesiones en la base de datos.
http://symfony.com/doc/current/cookb...n_storage.html
Si quieres hacer integración por que el login es parte de una aplicación que no esta en symfony checa esto:
http://symfony.com/doc/current/cookb...hp_bridge.html
Si esto no resuelve el problema explica mejor la situación
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #3 (permalink)  
Antiguo 24/04/2015, 11:39
 
Fecha de Ingreso: abril-2015
Ubicación: Mérida
Mensajes: 2
Antigüedad: 9 años
Puntos: 0
Respuesta: Obtener una $_SESSION desde symfony2

¡Gracias por responder!

Lo que pasa es que en mi trabajo no se utilizaba ningún framework PHP, se realizaron varias aplicaciones y se implementó un solo login que guarde a la BD.

Ahora se empezó a utilizar symfony y me pidieron que desarrolle una aplicación que utilice el mismo login al que ya están acostumbrados los clientes.

Ahora mismo reviso los enlaces que me pasaste para ver si me sirve alguno.

Gracias de nuevo.

Cita:
Iniciado por hhs Ver Mensaje
No entiendo por que tienes el login fuera de symfony.
Symfony soporta el almacenamiento de sesiones en la base de datos.
[url]http://symfony.com/doc/current/cookbook/configuration/pdo_session_storage.html[/url]
Si quieres hacer integración por que el login es parte de una aplicación que no esta en symfony checa esto:
[url]http://symfony.com/doc/current/cookbook/session/php_bridge.html[/url]
Si esto no resuelve el problema explica mejor la situación

Etiquetas: $_session
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:21.