Route::group(['middleware' => ['guest']], function () {
Route::get('/', 'Auth\LoginController@showLoginForm');
Route::match(['get','post'],'/login', 'Auth\LoginController@login')->name('login');
});
Route::match(['get','post'],'/logout','Auth\LoginController@logout')->name('logout')->middleware('auth');
Route::match(['get','post'],'/ se uso en vez de post
para evitar la exception MethodNotAllowedHttpException que dispara cuando, estando logueado, se tipea en la url /login
laravel maneja "automaticamente" a traves del middleware RedirectIfAuthenticated que cuando se esta logueado y se tipee en la url
la barra "/" o "/login" te redireccione a la ruta que hayas denominado como "home"
aunque el logout se puede manejar para evitar ataques Cross se va a manejar a traves del method POST, entonces en la vista
<div class="dropdown-menu dropdown-menu-right">
<div class="dropdown-header text-center">
<strong>Cuenta</strong>
</div>
<a class="dropdown-item" href="#"><i class="fa fa-user"></i> Perfil</a>
<a class="dropdown-item" href="#" onclick="event.preventDefault(); document.getElementById('frm-logout').submit();"><i class="fa fa-lock"></i> Cerrar sesión</a>
</div>
<form id="frm-logout" action="{{ route('logout') }}" method="POST" style="display: none;">
{{ csrf_field() }}
</form>
y en el controller:
public function logout(Request $request)
{
if ($request->isMethod('post')) {
Auth::logout();
$request->session()->invalidate();
return redirect('/');
}
return back();
}
Suscribirse a:
Enviar comentarios (Atom)
linux ubuntu mint actualizar chrome
desde una terminal: $ sudo apt update $ sudo apt install google-chrome-stable
-
por consola y desde la raiz de tu proyecto php artisan --version
-
en nuestro proyecto creamos una carpeta llamada donde estaran todas nuestras clases, por ejemplo una llamada: MiApp adentro de esta irian b...
-
Integridad al nivel de la base de datos Oracle Oracle valida la integridad de la base de datos y presenta los siguientes mensajes de erro...
No hay comentarios:
Publicar un comentario