Hola ¿qué tal? Les consulto algo por si a alguien también le sucedió y me puede dar una mano. Gracias! :)
No sé porque pero desde hace unos días mi login el producción dejó de funcionar! :S Solo anda si antepongo: app_dev.php
Y también noto en la barra de depuración que en la parte de seguridad dice: The segurity is disabled no entiendo como ocurrió ésto, pero si alguien me puede tirar una idea para ir probando alguna posible solución, voy a estar agradecido! :)
Respuestas
El error que te sucede es realmente extraño. Primero dices que el login solo te funciona si pones app_dev.php
, por lo que podemos deducir que la seguridad está habilitada en el entorno dev
, pero está deshabilitada en el entorno prod
.
Sin embargo, el segundo error dice que la barra de depuración web muestra el texto The security is disabled
. Ese mensaje solo aparece cuando "el colector de seguridad" no está activado. Solo hay dos causas comunes para ello: 1) has deshabilitado el colector en la configuración, 2) el bundle SecurityBundle
está desactivado.
El problema es que el primer error contradice al segundo: si el bundle SecurityBundle
está desactivado en dev
(como sugiere el segundo error) entonces no te puede funcionar el login al poner el app_dev.php
(como sugiere el primer error).
¿Podrías decirnos como tienes registrado el bundle SecurityBundle
en el archivo app/AppKernel.php
?
@javiereguiluz
Hola, muchas gracias por responder, acá te copio el cod.
public function registerBundles() { $bundles = array( new Symfony\Bundle\FrameworkBundle\FrameworkBundle(), new Symfony\Bundle\SecurityBundle\SecurityBundle(), new Symfony\Bundle\TwigBundle\TwigBundle(), new Symfony\Bundle\MonologBundle\MonologBundle(), new Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle(), new Symfony\Bundle\AsseticBundle\AsseticBundle(), new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(), new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(), new EM\MainBundle\MainBundle(), new EM\UsuariosBundle\UsuariosBundle(), new EM\AdministracionBundle\AdministracionBundle(), new EM\EventosBundle\EventosBundle(), new EM\ReservasBundle\ReservasBundle(), new EM\InscripcionesBundle\InscripcionesBundle(), new HWI\Bundle\OAuthBundle\HWIOAuthBundle(), ); if (in_array($this->getEnvironment(), array('dev', 'test'))) { $bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle(); $bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle(); $bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle(); } return $bundles; }
Tienes razón, es decir ahora pude comprobar que el login por lo menos en mi local funciona con o sin: app_dev.php
. Pero por algún motivo, cuando me logueo con app_dev.php
sigue apareciendo The security is disabled en la barra de depuración! :S
Con respecto a los puntos:
1) Has deshabilitado el colector en la configuración,
2) El bundle SecurityBundle está desactivado.
¿Me podrías indicar como corroborar si está deshabilitado? he googleado un poco pero no logro encontrar nada! :S
@MrXXX0323
Para deshabilitarlo hay que definir un servicio y cambiar la prioridad del coelctor y hacer no se cuántas cosas más, así que es imposible hacerlo "sin querer".
Mi consejo sería que hicieras dos cosas: 1) comprobar que todo está bien configurado; 2) analizar los mensajes de error.
Para comprobar que todo está bien configurado, ejecuta si puedes el siguiente comando y mira a ver si te sale algún error o algún aviso:
$ php app/check.php
Para analizar los mensajes de error, mira en el archivo app/logs/dev.log
o app/logs/prod.log
a ver si ves algún mensaje relacionado con la seguridad.
Por último, si tu versión de Symfony no es muy antigua, puedes activar el bundle DebugBundle
añadiendo lo siguiente:
if (in_array($this->getEnvironment(), array('dev', 'test'))) { // ... $bundles[] = new Symfony\Bundle\DebugBundle\DebugBundle(); }
Luego en tu aplicación puedes hacer dump($this->getUser())
dentro de un controlador para inspeccionar el contenido de esa variable.
@javiereguiluz
Para darle un cierre a esta pregunta, hice lo que me dijiste javier y me salia un error que decía:
No se puede cargar dinamicamente request.
y la solución fue:
Yo tenía definido el siguiente servicio en el config.yml
services: user.provider.users: class: EM\UsuariosBundle\Provider\Provider arguments: [@session, @doctrine] calls: - [setRequest , ["@service_container"]]
En donde comenté el request.
services: user.provider.users: class: EM\UsuariosBundle\Provider\Provider arguments: [@session, @doctrine] #calls: # - [setRequest , ["@service_container"]]
Y ahora cuando me logueo ya me vuelve a aparecer en la barra de debug el usuario logueado! :D
@MrXXX0323