Bladeren bron

modificati login logout

FabioFratini 1 jaar geleden
bovenliggende
commit
fd84011a99
2 gewijzigde bestanden met toevoegingen van 24 en 19 verwijderingen
  1. 5 2
      resources/views/layouts/app.blade.php
  2. 19 17
      routes/web.php

+ 5 - 2
resources/views/layouts/app.blade.php

@@ -77,8 +77,11 @@
 
         -->
       <li class="nav-item dropdown">
-        <a class="nav-link"  href="/logout">
-          <i class="fa fa-sign-out-alt"></i>
+        <form id="logout-form" action="/logout" method="POST" style="display: none;">
+            @csrf
+        </form>
+        <a class="nav-link" href="#" onclick="event.preventDefault(); document.getElementById('logout-form').submit();">
+            <i class="fa fa-sign-out-alt"></i>
         </a>
         <!--
         <div class="dropdown-menu dropdown-menu-lg dropdown-menu-right">

+ 19 - 17
routes/web.php

@@ -2,6 +2,10 @@
 
 use App\Http\Livewire\Report;
 use Illuminate\Support\Facades\Route;
+use Illuminate\Support\Facades\DB;
+use Illuminate\Support\Facades\Auth;
+use Illuminate\Http\Request;
+
 
 /*
 |--------------------------------------------------------------------------
@@ -18,28 +22,26 @@ Route::get('/', function () {
     return view('login');
 })->name('login');
 
-Route::get('/logout', function () {
+Route::post('/logout', function (Request $request) {
     Auth::logout();
-    return redirect()->to('/');
+    $request->session()->invalidate();
+    $request->session()->regenerateToken();
+    return redirect('/');
 });
 
-Route::post('/login', function (Request $requests)
-{
-    $email = $_POST["email"];
-    $password = $_POST["password"];
+Route::post('/login', function (Request $request) {
+    $credentials = $request->validate([
+        'email' => 'required|email',
+        'password' => 'required|string|min:6',
+    ]);
 
-    if ($user = Auth::attempt(['email' => $_POST["email"], 'password' => $_POST["password"]]))
-    {
-        return redirect()->to('/reports');
+    if (Auth::attempt($credentials)) {
+        $request->session()->regenerate();
+        return redirect()->intended('/reports');
     }
-    else
-    {
-    // if (Auth::attempt(['email' => $email, 'password' => $password])  == false) {
-        return back()->withErrors([
-            'message' => 'Dati di accesso errati'
-        ]);
-    }
-
+    return back()->withErrors([
+        'message' => 'Dati di accesso errati',
+    ]);
 });
 
 Route::group(['middleware' => 'auth'],function(){