From 806b02418b9ee53039de96baf9cfcca1c6fa9257 Mon Sep 17 00:00:00 2001 From: Mateja Date: Wed, 28 Oct 2020 00:19:52 +0100 Subject: Authentication implemented. --- app/Http/Controllers/PagesController.php | 14 ++++++++++++-- resources/views/inc/navbar.blade.php | 2 +- resources/views/pages/login.blade.php | 3 +++ routes/web.php | 1 + 4 files changed, 17 insertions(+), 3 deletions(-) diff --git a/app/Http/Controllers/PagesController.php b/app/Http/Controllers/PagesController.php index 5041f05..f42ae3e 100644 --- a/app/Http/Controllers/PagesController.php +++ b/app/Http/Controllers/PagesController.php @@ -9,6 +9,7 @@ use function redirect; use Illuminate\Support\Facades\Validator; use Illuminate\Support\Facades\Redirect; +use Illuminate\Support\Facades\Auth; class PagesController extends Controller { @@ -40,6 +41,12 @@ class PagesController extends Controller return view('pages.login'); } + public function logout(Request $request) + { + Auth::logout(); + return Redirect::back(); + } + public function activities(Request $request) { return view('pages.activities'); @@ -84,7 +91,6 @@ class PagesController extends Controller $validator = Validator::make($request->all(), $rules, $messages); if ($validator->fails()) { - //return redirect('login') return Redirect::back() ->withErrors($validator) ->withInput(); @@ -95,7 +101,11 @@ class PagesController extends Controller //'password' => 'required', //]); //return redirect('login')->with('status', 'Submitted.'); - return Redirect::back()->with('status', 'Submitted.'); + //return Redirect::back()->with('status', 'Submitted.'); + if (Auth::attempt($request->only('email', 'password'))) + return redirect()->intended(route('home')); + else return Redirect::back() + ->withErrors(['failed' => ['Bad credentials!']]); } diff --git a/resources/views/inc/navbar.blade.php b/resources/views/inc/navbar.blade.php index 01b73f1..aa28eae 100644 --- a/resources/views/inc/navbar.blade.php +++ b/resources/views/inc/navbar.blade.php @@ -25,7 +25,7 @@ Reservations - Logout + Logout @else Login @endif diff --git a/resources/views/pages/login.blade.php b/resources/views/pages/login.blade.php index b323872..473c23f 100644 --- a/resources/views/pages/login.blade.php +++ b/resources/views/pages/login.blade.php @@ -6,6 +6,9 @@ {{ session('status') }} @endif +@error('failed') +
{{ $message }}
+@enderror
@csrf
diff --git a/routes/web.php b/routes/web.php index 0d42dc9..7a156a4 100644 --- a/routes/web.php +++ b/routes/web.php @@ -40,6 +40,7 @@ Route::post('/reserve', [PagesController::class, 'reserveForm'])->name('reserveF Route::get('/login', [PagesController::class, 'login'])->name('login'); Route::post('/login', [PagesController::class, 'loginForm'])->name('loginForm'); +Route::get('/logout', [PagesController::class, 'logout'])->name('logout'); //Route::get('/about', [PagesController::class, 'about'])->name('about'); //Route::get('/about', 'App\Http\Controllers\PagesController@about'); -- cgit v1.2.3