Fazer como que o usuário retorne para a página que ele estava é uma boa prática de usabilidade para os usuários das nossas aplicações.
Para fazer esse redirecionamento é bem simples e fácil.
Vamos ao código para ver como fazer.
- Vamos criar o nosso controller de login.
class MeuLoginController extends Controller
{
....
}
- Vamos criar as nossas actions, a INDEX para chamar a view de login e a AUTHENTICATE para fazer a autenticação do nosso usuário.
class MeuLoginController extends Controller
{
public function index()
{
// cria uma coloca na Session a váriável url.intended com o valor da página anterior.
Session::put('url.intended',URL::previous());
return view('pages.user.login');
}
public function authenticate(Request $request)
{
$this->validate($request, [
'email' => 'required|string|email',
'password' => 'required|string',
]);
// Verifica se o usuário e senha são válidos
if (Auth::attempt(['email' => $request->email, 'password' => $request->password])) {
// Teve sucesso na autenticação, então retorna para a página anterior.
return Redirect::to(Session::get('url.intended'));
}
return redirect()->intended('login')->withErrors(['error' => 'Usuário ou senha inválidos. ']);
}
}
Com essas duas actions é possível fazer com que o nosso usuário retorne para a página que ele estava visitando depois de fazer o login.
0 comentários