Escolha uma Página

Retornar para página anterior depois do login

Escrito por Alisson

agosto 22, 2023

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.

  1. Vamos criar o nosso controller de login.
class MeuLoginController extends Controller
{

    ....

}
  1. 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.

Você pode gostar…

0 comentários

Enviar um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *