Nueva pregunta

Pregunta:

Fecha: 18-12-2015 07:05:08 (En Español)

¿Cómo hacer el redireccionamiento de forma correcta con Symfony2?[Resuelta]

Buenas tardes compañeros.

Tengo una duda y es sobre como hacer un redireccionamiento correcto con Symfony2 y Ajax.

Sin Ajax lo hago con una simple línea:

return $this->redirect($this->generateUrl('users_index'));


Pero al usar Ajax en un login sucede que hago un:
document.location.href = 'list.php';
en caso de que sea correcto el logueo.

Que tengo que hacer entonces? Usar Ajax para el redireccionamiento? Es seguro? La verdad no se que hacer.

Gracias!
Etiquetas: AJAX - Framework - Javascript - JQuery - PHP - Symfony - Symfony2 Votos: 4 - Respuestas: 6 - Vistas: 13 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 18-12-2015 07:36:01 Creo que estarías en lo correcto en cuanto a Symfony, solo le agregaría que cuando hablamos de seguridad (por tu pregunta "Es seguro?"), no es lo más importante el método utilizado para el redirect, mas bien yo me preocuparía por ver si la comunicación esta o no cifrada por TLS o RSA desde la aplicación.

    Y sobre todo, que tipo de datos sensibles manejas, almacenas, y como los tratas (se envían o no al cliente, estan disponibles en carpetas sin restricción, base de datos remotas, locales, etc.).... esto ya es un mundo que se podría discutir pero no se si hace a tu pregunta sobre Symfony2, saludos.

    Pd: agradecería que pongas una foto de perfil, así humanizamos un poco más la comunidad ;)
      Votos: 5 - Link respuesta
     
  • Fecha: 18-12-2015 10:20:52 El login es con Symfony solo uso Ajax para indicar si el usuario o contraseña son incorrectos y después realice la redirección entonces si lo realizo con Ajax despues de que el controlador en Symfony realizó la verificación esta bien? Me refería a la seguridad en el sentido de que por navegador la respuesta no pueda ser cambiada por AJAX, pregunto eso por lo siguiente:

    Mi AJAX trabaja así:

    $.ajax({
    			type:$(this).attr('method'),
    			url:$(this).attr('action'),
    			data:$(this).serialize(),
    			success: function(valor){
    			if (valor == 2) { // SI LOG.PHP DEVUELVE EN EL ECHO "2"
    				$('#message').show(400).delay(2500).hide(200).html("Usuario o contraseña incorrecta");
    					$('#user').focus(); // MANDA EL FOCO A EL INPUT CON ID USER
    					 return false;
    			}
    			else { // SI LOG.PHP DEVUELVE EN EL ECHO "1"
    					document.location.href = 'list.php'; // REDIRIGE
    			};
    			}
    		});	


    Entonces si el controlador en Symfony responde '2' manda un mensaje pero si no redirige entonces no se si de esa forma lo este trabajando de forma correcta.
      Votos: 1 - Link respuesta
     
  • Fecha: 18-12-2015 15:49:20 Es una forma de hacerlo, no está mal, pero tal vez el login podría devolver la ruta a donde debe ir el usuario si el login fue correcto o no... para no poner la ruta de redirección fija en el código.

    Lo importante es que la ruta destino valide si el usuario está o no logueado.
      Votos: 0 - Link respuesta
     
  • Fecha: 18-12-2015 19:04:48 Gracias Fernando redireccione a url:$(this).attr('action') y se valida la sesión redireccionando a el archivo correpondiente. Saludos!   Votos: 2 - Link respuesta
     
  • Fecha: 19-12-2015 03:07:08 Compartí la pregunta con la gente de symfony en Facebook, Linkedin y Google+ (esperemos que algún especialista o entendido de Symfony2 pueda aportar valor a la respuesta).

    Estimo que este tipo de acciones ya deben estar documentadas en algún libro. Symfony inicialmente se caracterizo por tener una excelente documentación, que salvando las particularidades del framework también explicaban patrones, lógicas, etc., y Symfony2 creo que no es la excepción (y leyendo por ahí, ya se viene Symfony3..., que miedo para los que trabajan con versión 2).

    Saludos,
      Votos: 2 - Link respuesta
     
  • Fecha: 21-12-2015 11:21:37 De hecho estaba pensando en cambiarme de framework a Laravel ya que encuentro mejores soluciones y una comunidad mas activa aunque Symfony2 es de mi agrado hay cosas que veo mas fácil de realizar con Laravel y creo que de eso se trata de hacerlo un poco mas sencillo y rápido el uso de un framework   Votos: 0 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
 
frjcbbae garagebible.com