Laravel est actuellement l'un des frameworks PHP les plus populaires. Il fournit de nombreux outils et fonctions utiles qui permettent aux développeurs de créer rapidement des applications Web puissantes. Dans de nombreuses applications Web, les utilisateurs doivent être connectés pour accéder aux pages protégées, et nous devons apprendre à utiliser Laravel pour authentifier les utilisateurs s'ils sont connectés.
Dans Laravel, le système d'authentification des utilisateurs est géré par le Laravel Auth officiel. Ce système fournit de nombreuses fonctions d'authentification courantes, telles que l'enregistrement des utilisateurs, la connexion et la réinitialisation du mot de passe. Dans ce système, nous utilisons un Middleware pour vérifier que l'utilisateur est connecté. Le middleware est un filtre de requête utilisé pour effectuer certaines opérations avant que la requête n'atteigne l'itinéraire spécifié. Nous pouvons utiliser un middleware pour vérifier que l'utilisateur est connecté afin de pouvoir restreindre l'accès de l'utilisateur aux pages protégées.
Ci-dessous, je vais vous montrer comment utiliser le Middleware pour vérifier si l'utilisateur est connecté. Nous pouvons utiliser la propre commande make:middleware de Laravel pour créer un nouveau middleware. Par exemple, nous pouvons créer un middleware nommé « AuthMiddleware ».
Nous pouvons exécuter la commande suivante pour créer AuthMiddleware :
php artisan make:middleware AuthMiddleware
Après avoir exécuté la commande ci-dessus, Laravel créera un fichier AuthMiddleware.php dans le répertoire app/Http/Middleware. À ce stade, nous devons écrire notre logique de vérification dans la méthode handle de ce fichier. Voici un exemple :
<?php namespace App\Http\Middleware; use Closure; use Illuminate\Support\Facades\Auth; class AuthMiddleware { public function handle($request, Closure $next) { if (!Auth::check()) { return redirect('/login'); } return $next($request); } }
Dans l'exemple ci-dessus, nous utilisons d'abord la méthode Auth::check() pour vérifier si l'utilisateur est déjà connecté. Si l'utilisateur n'est pas connecté, nous le redirigerons vers la page /login. Si l'utilisateur est déjà connecté, nous autoriserons le traitement de la demande, c'est ce que nous appelons "via le Middleware".
Ensuite, nous devons utiliser AuthMiddleware dans nos routes. Il existe deux manières d'utiliser le middleware dans la définition de route de Laravel :
Méthode 1 : utiliser le middleware dans la définition de route
Route::get('/dashboard', function () { return view('dashboard'); })->middleware('auth');
Dans le code ci-dessus, nous utilisons un middleware d'authentification pour vérifier si l'utilisateur s'est connecté. Lorsqu'un utilisateur accède à la page /dashboard, s'il n'est pas connecté, il sera redirigé vers la page /login.
Méthode 2 : Utiliser le Middleware dans la classe du contrôleur
namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; class DashboardController extends Controller { public function __construct() { $this->middleware('auth'); } public function index() { return view('dashboard'); } }
Dans le code ci-dessus, nous utilisons AuthMiddleware dans le contrôleur, lorsque l'utilisateur accède à /dashboard, si l'utilisateur n'est pas connecté, il sera redirigé vers la page /login .
Maintenant que nous avons appris à utiliser Laravel pour vérifier que l'utilisateur est connecté, nous pouvons utiliser un middleware dans nos contrôleurs et nos routes pour empêcher les utilisateurs d'accéder aux pages protégées. Grâce au Middleware, nous pouvons rendre nos applications plus sécurisées et plus fiables.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!