laravel 5.2 redirigir a la URL prevista después del inicio de sesión

Estoy luchando con mi ruta en mi aplicación laravel 5.2.

El comportamiento previsto es:

  1. Usuario no registrado intenta acceder a la página protegida
  2. Redirigido a Login
  3. Redirigido (en caso de éxito) a la página prevista

Por supuesto, el usuario debe ser redirigido a su “tablero” si no hay una página intencionada (cuando activly inició sesión)

Ejemplo:

/* Create a Payment | Only for registered Users (client) */ Route::post('payment', 'PaymentController@create')->middleware('client'); 

El usuario será redireccionado a la página de inicio de sesión, sin embargo, después del inicio de sesión, será redirigido a la página que definí en mi authcontroller como $ redirectTo

 protected $redirectTo = '/backoffice'; 

¿Hay alguna manera de establecer el redireccionamiento a algo así como (predeterminado o predeterminado)

Si desea que un usuario que no haya iniciado sesión lo redireccione a una página de inicio de sesión y después de un inicio de sesión exitoso regrese a la URL pretendida o al valor predeterminado configurado en su variable.

 protected $redirectTo = '/backoffice'; 

Entonces probablemente usarías algo como esto.

 return redirect()->guest('login'); 

Laravel mantendrá la “intention.url” en sesión para usted y después de un inicio de sesión exitoso redirigirá al usuario de vuelta a / backoffice.

Aquí hay otra respuesta sobre varias versiones de Laravel

Descubrí que el AuthenticatesUsers Trait definido en AuthenticatesUsers.php tiene la función handleUserWasAuthenticated donde comprueba si la autenticación predeterminada de Laravel AuthController.php tiene un método authenticated definido o no. Si este método no está definido, el usuario siempre se redirige a lo que defina en la propiedad $redirectTo . No redirige al usuario a la URL prevista. Sin embargo, en AuthController.php si define el método de la siguiente manera:

 protected function authenticated (Request $request, $user){ //add ur custom actions after the user is authenticated } 

redirect()->intended() funcionará como espera exactamente y después de que el usuario sea autenticado, será redirigido a la URL deseada.

Estoy usando Laravel 5.4

LoginController:

 public function __construct() { session(['url.intended' => url()->previous()]); $this->redirectTo = session()->get('url.intended'); $this->middleware('guest')->except('logout'); } 

En 5.2 Solo cambie en “aplicación / Http / Controladores / Auth / AuthController.php” cerca de la línea no 31 protegida $ redirectTo = ‘/ Your_View_page’;