Créé en 2020 et modifié le 08 Oct 2020
La gestion des utilisateurs avec Laravel
Partie 1 – bloquer les uri
Livrable : otelo/mission4/…
- créer une vue indiquant que l’utilisateur doit s’authentifier
@extends('layouts.app') @section('content') <div class="jumbotron"> <h2 class="my-5 text-center"> authentification nécessaire </h2> </div> @stop
- dans web.php, ajouter middleware(‘auth’) à la route de creation d’une réservation
Route::get('/newReservation',[ReservationController::class, 'create'] ->middleware('auth'); Route::get('/failure',function () { return view('failure'); })->name('failure');
- dans middleware/Authenticate.php, modifier la fonction
if (! $request->expectsJson()) { return route('failure'); }
- tester la route, elle st sécurisé, il faudra s’authentifier.
Note
On peut aussi sécuriser toutes les routes d’un contrôleur en ajoutant dans celui ci
public function __construct(){ $this->middleware('auth'); }
La condition middleware(‘auth’) dans la route devient inutile
Partie 2 – système d’authentification
Livrable : otelo/mission4/…
- Générer le squelette d’authentification
composer require laravel/ui
php artisan ui vue --auth
php artisan ui react --auth
php artisan migrate
- Tester l’enregistrement d’un utilisateur grâce à l’uri register
- Réaliser la vue /auth/compte.blade.php et l’uri compte
@extends('layouts.app') @section('contenu') <div class="section"> <h1 class="title is-1">Mon compte</h1> <p>Vous êtes bien connecté.</p> <a href="/deconnexion" class="button">Déconnexion</a> </div> @endsection
- Réaliser l’uri deconnexion
Route::get('/deconnexion',function () { Auth::logout(); return redirect('/'); });
- Ajouter le bouton deconnexion à l’uri /
- rediriger l’utilisteur à la racine du site en modifiant le controleur Login
//protected $redirectTo = RouteServiceProvider::HOME; protected $redirectTo = '/';
Note
- test si l’utilisateur est connecté
Auth::check();