Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

486
Vistas
Laravel: redirigir al usuario a la misma página después de iniciar sesión

Tengo una página de productos del carrito, si una persona hace clic en el botón Agregar al carrito de un producto, será redirigido a la página de inicio de sesión.

Después de un inicio de sesión exitoso, necesito enviar al usuario nuevamente a la misma página de productos.

Usé la siguiente manera en el controlador de inicio de sesión.

Pero en realidad no funciona como yo quiero. Significa que redirigirá a la página de índice nuevamente, he usado la return redirect()->back(); también... pero no soluciona el problema

 if (auth()->attempt(array('email' => $request->input('email'), 'password' => $request->input('password')))){ if(Auth::user()->name == 'Admin'){ return redirect()->to('home'); } else{ // return redirect()->back(); return redirect()->intended('/'); } }

¿Cómo resolver el problema?

about 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

En este caso, back() y intended() no funcionarán.

Puede guardar la última página del producto en la sesión. Ejemplo muy simplificado:

 session(['last_product_page_id' => $product->id]);

Y luego use estos datos para redirigir al usuario después de iniciar sesión:

 if (session()->has('last_product_page_id')) { return redirect()->route('product', session('last_product_page_id')); }
about 4 years ago · Santiago Trujillo Denunciar

0

Puede ser que la solución Mezenin sea correcta, pero lo resuelvo de otra manera. (Tomé el concepto de la solución anterior)

Como estoy usando Laravel 5.4 ... estoy dando una solución basada en el directorio de archivos reciente ...

He cambiado el controlador showLoginFrom que está dentro del rasgo AuthenticateUsers a esto:

 public function showLoginForm() { Session::put('url.intended',URL::previous()); return view('auth.login'); }

Y dentro de mi controlador de inicio de sesión he cambiado:

 if (auth()->attempt(array('email' => $request->input('email'), 'password' => $request->input('password')))){ if(Auth::user()->name == 'Admin'){ return redirect()->to('home'); } else{ return Redirect::to(Session::get('url.intended')); } }

Y es así como cuando un usuario inicia sesión, automáticamente será redirigido a la página anterior.

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda