Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

346
Visualizações
¿Cómo cerrar sesión y redirigir a la página de inicio de sesión usando Laravel 5.4?

Estoy usando Laravel 5.4 e intento implementar un sistema de autenticación. Utilicé el comando php craft make:auth para configurarlo. Edité las vistas de acuerdo con mi diseño. Ahora, cuando intento cerrar la sesión, me arroja este error

NotFoundHttpException en RouteCollection.php línea 161:

¿alguien podría ayudarme a cerrar la sesión?

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

En tu web.php (rutas):

agregar:

 Route::get('logout', '\App\Http\Controllers\Auth\LoginController@logout');

En su LoginController.php

agregar:

 public function logout(Request $request) { Auth::logout(); return redirect('/login'); }

Además, en la parte superior de LoginController.php , después del espacio de namespace

agregar:

 use Auth;

Ahora, puede cerrar sesión usando yourdomain.com/logout URL o si ha creado un logout button de sesión, agregue href a /logout

over 4 years ago · Santiago Trujillo Relatório

0

Bueno, incluso si lo que sugiere @Tauras simplemente funciona, no creo que sea la forma correcta de lidiar con esto.

Dijiste que ejecutaste php artisan make:auth que también debería haber insertado Auth::routes(); en sus archivos de enrutamiento de routes/web.php . Que viene con la ruta de cierre de logout predeterminada ya definida y se llama logout .

Puede verlo aquí en GitHub , pero también informaré el código aquí para simplificar:

 /** * Register the typical authentication routes for an application. * * @return void */ public function auth() { // Authentication Routes... $this->get('login', 'Auth\LoginController@showLoginForm')->name('login'); $this->post('login', 'Auth\LoginController@login'); $this->post('logout', 'Auth\LoginController@logout')->name('logout'); // Registration Routes... $this->get('register', 'Auth\RegisterController@showRegistrationForm')->name('register'); $this->post('register', 'Auth\RegisterController@register'); // Password Reset Routes... $this->get('password/reset', 'Auth\ForgotPasswordController@showLinkRequestForm')->name('password.request'); $this->post('password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail')->name('password.email'); $this->get('password/reset/{token}', 'Auth\ResetPasswordController@showResetForm')->name('password.reset'); $this->post('password/reset', 'Auth\ResetPasswordController@reset'); }

Por otra parte, tenga en cuenta que el cierre de logout requiere POST como método de solicitud HTTP. Hay muchas razones válidas detrás de esto, pero solo para mencionar una muy importante es que de esta manera puede evitar la falsificación de solicitudes entre sitios .

Entonces, de acuerdo con lo que acabo de señalar, una forma correcta de implementar esto podría ser solo esta:

 <a href="{{ route('logout') }}" onclick="event.preventDefault(); document.getElementById('frm-logout').submit();"> Logout </a> <form id="frm-logout" action="{{ route('logout') }}" method="POST" style="display: none;"> {{ csrf_field() }} </form>

Finalmente, tenga en cuenta que he insertado laravel lista para usar función {{ csrf_field() }} !

over 4 years ago · Santiago Trujillo Relatório

0

Puede usar lo siguiente en su controlador:

 return redirect('login')->with(Auth::logout());
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda