Maîtriser l'authentification des utilisateurs dans Laravel
Tutoriel sur les bases de l'authentification Laravel
Ce tutoriel vous guide à travers les bases de l'authentification dans Laravel, en abordant les kits de démarrage, l'accès au modèle d'authentification par défaut, les vérifications dans les contrôleurs et les modèles Blade, et l'utilisation du middleware d'authentification.
Prérequis:
- Connaissance de base de PHP et des concepts Laravel
- Un projet Laravel configuré (https://laravel.com/docs/11.x/installation)
1. Kit de démarrage : Laravel UI (Bootstrap)
Pour un démarrage rapide et pratique avec le style Bootstrap, Laravel propose le package laravel/ui
. Installez-le en utilisant Composer :
Bash
composer require laravel/ui
Ensuite, publiez les ressources et la configuration nécessaires :
Bash
php artisan ui vue --auth # Pour le frontend Vue.js (optionnel)
php artisan ui bootstrap # Pour le frontend Bootstrap
Cette commande génère des contrôleurs, des vues et des migrations pour les fonctionnalités d'authentification des utilisateurs.
2. Modèle d'authentification par défaut et accès aux champs
Laravel fournit un modèle d'utilisateur par défaut (App\Models\User
). Vous pouvez accéder à ses champs comme n'importe quel modèle Eloquent :
PHP
$utilisateur = Auth::user();
$nom = $utilisateur->nom;
$email = $utilisateur->email;
3. Vérification de l'authentification dans les contrôleurs et les modèles Blade
Contrôleurs:
PHP
use Illuminate\Support\Facades\Auth;
public function uneMethode()
{
if (Auth::check()) {
// L'utilisateur est authentifié
$utilisateur = Auth::user();
// ...
} else {
// L'utilisateur n'est pas authentifié
return redirect('/connexion');
}
}
Modèles Blade:
HTML
@if (Auth::check())
<p>Bienvenue, {{ Auth::user()->nom }} !</p>
<a href="{{ route('deconnexion') }}">Déconnexion</a>
@else
<a href="{{ route('connexion') }}">Connexion</a>
<a href="{{ route('inscription') }}">Inscription</a>
@endif
4. Middleware d'authentification
Le middleware vous permet de contrôler l'accès aux routes en fonction de l'état d'authentification. Créez un middleware :
Bash
php artisan make:middleware AuthMiddleware
Dans le middleware (app/Http/Middleware/AuthMiddleware.php
):
PHP
public function handle($request, Closure $next)
{
if (!Auth::check()) {
return redirect('/connexion');
}
return $next($request);
}
Enregistrez le middleware dans app/Http/Kernel.php
:
PHP
protected $routeMiddleware = [
'auth' => \App\Http\Middleware\AuthMiddleware::class,
];
Appliquer le middleware aux routes:
PHP
Route::get('/profil', function () {
// Cette route nécessite une authentification
})->middleware('auth');
Remarques supplémentaires:
- N'oubliez pas de configurer vos paramètres d'email dans
.env
pour des fonctionnalités telles que la réinitialisation du mot de passe. - Laravel propose d'autres fonctionnalités d'authentification comme l'authentification à deux facteurs et l'intégration de la connexion sociale, que vous pouvez explorer dans la documentation (https://laravel.com/docs/11.x/authentication).
- Pensez à utiliser un kit de démarrage plus robuste comme Laravel Jetstream pour un ensemble plus large de fonctionnalités et des composants d'interface utilisateur modernes (https://jetstream.laravel.com/).
En suivant ces étapes, vous disposerez d'une base solide pour l'authentification des utilisateurs dans votre application Laravel, en utilisant des kits de démarrage pour plus de commodité, en accédant efficacement aux données des utilisateurs et en implémentant des vérifications d'authentification dans les contrôleurs et les modèles Blade pour contrôler l'accès et personnaliser l'expérience utilisateur.