Blog Alphorm Logo de blog informatique spécialisé en technologie et solutions IT
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
En cours de lecture : Système d’authentification sous Laravel
Agrandisseur de policeAa
Blog AlphormBlog Alphorm
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
Search
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
Suivez-nous
© Alphorm 2024 - Tous droits réservés
Développement

Système d’authentification sous Laravel

L'Équipe Alphorm Par L'Équipe Alphorm 9 janvier 2025
Partager
Partager

La sécurisation de l’accès aux ressources d’une application est un défi majeur pour les développeurs.

Un système d’authentification mal configuré peut exposer des données sensibles aux utilisateurs non autorisés.

Cet article vous guide à travers le système d’authentification de Laravel, en utilisant Laravel Breeze pour garantir un accès sécurisé et efficace.

Table de matière
Composants Authentification LaravelConfigurer Authentification avec Laravel BreezeCréer Contrôleur d'Inscription LaravelConfigurer Route d'Inscription LaravelCréer Vue d'Inscription LaravelLaravel c'est top !FAQConclusion

Formation Laravel : Le Guide Complet du Débutant

Initiez-vous à Laravel et réalisez votre première application en toute confiance.

Découvrir cette formation

L’authentification est un mécanisme essentiel pour gérer l’accès aux ressources dans une application, en permettant uniquement aux utilisateurs autorisés d’accéder aux sections protégées. Laravel fournit un système d’authentification robuste, complet, et facile à mettre en place, ce qui en fait un excellent choix pour la création de systèmes sécurisés.

Laravel gère l’authentification en utilisant des middlewares , des guards , des providers , et des gates (ou barrières) pour contrôler l’accès. Ce système permet de vérifier facilement si un utilisateur est authentifié avant de lui permettre l’accès aux pages et ressources de l’application. De plus, Laravel propose des outils intégrés pour gérer des actions courantes, comme l’inscription, la connexion, la déconnexion, la réinitialisation de mot de passe, et plus encore.

Diagramme du processus d'authentification Laravel

Composants Authentification Laravel

Laravel offre un système d’authentification puissant et flexible pour gérer les utilisateurs et leur accès aux différentes parties de votre application. L’authentification dans Laravel repose sur plusieurs composants essentiels qui travaillent ensemble pour assurer la sécurité et la gestion des utilisateurs. Ces composants vous permettent de configurer et de personnaliser l’authentification en fonction des besoins spécifiques de votre application.

Diagramme des composants de l'authentification Laravel

Voici les principaux composants de l’authentification dans Laravel :

  • Guards (Gardiens) :

Les guards sont responsables de définir la manière dont les utilisateurs sont authentifiés pour chaque requête. Par défaut, Laravel utilise le guard web pour les sessions d’utilisateurs et le guard api pour les applications sans session, comme les API REST.

  • Providers (Fournisseurs) :

Les providers définissent comment les utilisateurs sont récupérés de la base de données. Par défaut, Laravel utilise Eloquent, mais il est possible de configurer un provider pour d’autres sources de données.

  • Middleware d’authentification :

Laravel utilise un middleware d’authentification (auth) qui vérifie si un utilisateur est connecté. Ce middleware peut être appliqué à des routes ou des groupes de routes pour restreindre l’accès uniquement aux utilisateurs authentifiés.

  • Gates et policies :

Les gates et policies permettent d’ajouter des règles d’autorisation plus spécifiques, en définissant des permissions d’accès basées sur les actions ou les ressources.

Configurer Authentification avec Laravel Breeze

Pour commencer avec un système d’authentification en Laravel, vous pouvez utiliser Laravel Breeze , un package simple qui propose des fonctionnalités de base telles que l’inscription, la connexion, et la réinitialisation du mot de passe.

Voici les étapes pour installer et configurer Laravel Breeze dans votre application Laravel :

  • Installation de Laravel Breeze :

Assurez-vous que votre projet Laravel est bien configuré, puis exécutez les commandes suivantes pour installer Laravel Breeze et configurer l’authentification de base

				
					
 composer require laravel/breeze --dev
php artisan breeze:install
npm install && npm run dev
php artisan migrate

				
			

Voici explication

  • composer require laravel/breeze –dev :Installe le package Laravel Breeze.
  • php artisan breeze :install : Configure le package avec les vues d’authentification de base.
  • npm install && npm run dev :Installe les dépendances front-end.
  • php artisan migrate :Applique les migrations pour créer les tables nécessaires à l’authentification.

Après l’installation de Breeze, votre application aura des routes pour :

  • L’inscription (/register)
  • La connexion (/login)
  • La déconnexion (/logout)
  • La réinitialisation de mot de passe

Vous trouverez les vues d’authentification dans le dossier resources/views/auth. Vous pouvez les modifier pour personnaliser l’apparence et les textes affichés aux utilisateurs.

Infos : Laravel Breeze fournit une solution d’authentification simple et prête à l’emploi, idéale pour les projets qui ne nécessitent pas une solution d’authentification complexe. Cependant, si vous avez des besoins plus avancés, comme la gestion de rôles ou une authentification basée sur des tokens API, vous pourriez envisager d’autres packages comme Laravel Jetstream ou Laravel Fortify qui offrent plus de fonctionnalités et de flexibilité.

Pour vous guider, nous allons créer un formulaire d’inscription basique avec Laravel, en ajoutant un contrôleur dédié, une route, et une vue.

Créer Contrôleur d'Inscription Laravel

Nous allons commencer par créer un contrôleur RegisterController pour gérer la page d’inscription. Ce contrôleur aura une méthode index pour afficher le formulaire d’inscription.

Voici le code : RegisterController.php

				
					
 <?php

namespace App\Http\Controllers;

 use Illuminate\Http\Request;

 class RegisterController extends Controller
 {
     //
     public function index()
     {
         $data = [
         'title' => 'Inscription -'.config('app.name'),
         'description' => 'Inscription sur le site -'.config('app.name'),
         ];
         return view('auth.register', $data);
     }
 }

				
			

Pour bien comprendre voici l’explication

  • Le contrôleur RegisterController contient la méthode index pour générer la vue d’inscription avec un titre et une description dynamique.
  • $data est un tableau qui contient les informations de title et description pour passer dynamiquement ces valeurs à la vue.

Configurer Route d'Inscription Laravel

Dans cette étape, nous allons configurer la route qui permettra d’afficher le formulaire d’inscription pour les utilisateurs. Laravel permet de facilement lier une URL spécifique à une méthode d’un contrôleur. Dans ce cas, nous allons associer l’URL /register à la méthode index du contrôleur RegisterController.

Voici la commande à ajouter dans le fichier routes/web.php pour définir cette route :

				
					
 Route::get('register', 'RegisterController@index')->name('registe');

				
			

Pour bien comprendre voici l’explication

  • Cette route utilise la méthode index du RegisterController pour afficher le formulaired’inscription.
  • Nous avons donné à la route le nom register pour y faire référence facilement ailleurs dans l’application.
Astuce Pratique : Cette étape est essentielle car elle garantit que les utilisateurs peuvent accéder à un formulaire d’inscription via l’URL /register. En attribuant un nom à la route (register), vous bénéficiez de la possibilité de modifier facilement l’URL de la route à l’avenir sans devoir mettre à jour tous les liens dans votre code, ce qui améliore la maintenabilité de votre application.

Créer Vue d'Inscription Laravel

Après avoir configuré la route pour l’inscription, il est maintenant temps de créer la vue qui affichera le formulaire d’inscription à l’utilisateur. Cette vue sera placée dans le dossier resources/views/auth et aura pour nom register.blade.php.

Voici le code : resources/views/auth/register.blade.php

				
					
 @extends('layouts.main')
@section('content')
<div class="row">
<div class="col-lg-3">
@include('includes/sidebar')
</div>
<!-- /.col-lg-3 -->
<div class="col-lg-9">
<div class="card mt-4">
<div class="card-body">
<h2 id="laravel-cest-top" class="rb-heading-index-6 card-title"><a href="" data-wpel-link="internal" target="_self" rel="follow noopener noreferrer">Laravel c'est top !</a></h2>
{{--   <p class="card-text">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sapiente dicta fugit fugiat hic aliquam itaque facere, soluta. Totam id dolores, sint aperiam sequi pariatur praesentium animi perspiciatis molestias iure, ducimus!</p> --}}
<span class="auhtor">Par <a href="" data-wpel-link="internal" target="_self" rel="follow noopener noreferrer">Hamid</a></span> <br>
<span class="time">Il y'a 1 heure</span>
</div>
</div>
<!-- /.card -->
<div class="card card-outline-secondary my-4">
<div class="card-header">
Inscription
</div>
<div class="card-body">
<div class="mb-3 row">
<label for="staticName" class="col-sm-2 col-form-label">Nom</label>
<div class="col-sm-10">
<input type="text"  class="form-control" name="name" id="staticEmail" >
</div>
</div>
<div class="mb-3 row">
<label for="staticEmail" class="col-sm-2 col-form-label">Email</label>
<div class="col-sm-10">
<input type="text"  class="form-control" name="email" id="staticEmail" >
</div>
</div>
<div class="mb-3 row">
<label for="inputPassword" class="col-sm-2 col-form-label">Password</label>
<div class="col-sm-10">
<input type="password" class="form-control" name="password" id="inputPassword">
</div>
</div>
<button class="btn btn-primary">Inscription </button>
</div>
</div>
<!-- /.card -->
</div>
<!-- /.col-lg-9 -->
</div>
@stop

				
			

Pour bien comprendre voici l’explication

  • La vue utilise l’extension @extends pour inclure le layout principal layouts.main.
  • Le formulaire d’inscription comprend trois champs principaux :Nom,Email, etMot de passe.
  • Le bouton d’inscription soumet les données au serveur, et la directive @csrf assure la protection contre les attaques CSRF.

Après le lancement de serveur voici l’affichage de page d’inscription

Page d'inscription du blog avec Laravel
Astuce Pratique : Utilisez la commande php artisan make:controller RegisterController pour générer le contrôleur sans le coder manuellement

Formez-vous gratuitement avec Alphorm !

Maîtrisez les compétences clés en IT grâce à nos formations gratuites et accélérez votre carrière dès aujourd'hui.

Démarrer gratuitement
illustration processus de paiement en ligne avec étapes claires et convivialité

FAQ

Comment fonctionne l'authentification dans Laravel?
L’authentification dans Laravel repose sur des composants clés tels que les guards, providers, middleware et gates. Les guards gèrent la manière dont les utilisateurs sont authentifiés pour chaque requête, tandis que les providers s’occupent de récupérer les utilisateurs de la base de données. Le middleware d’authentification vérifie les connexions utilisateurs, et les gates définissent des permissions d’accès spécifiques. Ensemble, ces éléments assurent une gestion sécurisée des utilisateurs et de leurs accès au sein de l’application.
Qu'est-ce que Laravel Breeze et comment l'installer?
Laravel Breeze est un package simple pour mettre en place un système d’authentification de base dans une application Laravel. Pour l’installer, assurez-vous que votre projet est configuré, puis exécutez les commandes suivantes : `composer require laravel/breeze –dev`, `php artisan breeze:install`, `npm install && npm run dev`, et `php artisan migrate`. Cela configure les vues d’authentification de base et applique les migrations nécessaires pour créer les tables utilisateurs.
Quels sont les composants d'authentification de Laravel?
Laravel utilise plusieurs composants pour gérer l’authentification : les guards, providers, middleware et gates. Les guards définissent comment les utilisateurs sont authentifiés pour chaque requête. Les providers récupèrent les utilisateurs de la base de données. Le middleware d’authentification vérifie si un utilisateur est connecté avant de lui permettre l’accès. Enfin, les gates ajoutent des règles d’autorisation spécifiques pour les actions ou ressources.
Comment configurer un formulaire d'inscription avec Laravel?
Pour configurer un formulaire d’inscription avec Laravel, commencez par créer un contrôleur d’inscription, par exemple RegisterController, qui gérera l’affichage du formulaire. Ensuite, configurez une route pour le formulaire dans le fichier `routes/web.php`. Enfin, créez la vue d’inscription dans `resources/views/auth/register.blade.php` avec les champs nécessaires comme le nom, l’email et le mot de passe. Utilisez `@csrf` pour la sécurité du formulaire.
Quels avantages offre Laravel Breeze pour l'authentification?
Laravel Breeze offre une solution d’authentification simple et prête à l’emploi, idéale pour les projets qui nécessitent une mise en place rapide et efficace sans complexité excessive. Il fournit des fonctionnalités de base telles que l’inscription, la connexion et la réinitialisation du mot de passe. Breeze est parfait pour les projets qui ne demandent pas une gestion avancée des rôles ou une authentification basée sur des tokens API, où des solutions comme Laravel Jetstream seraient plus adaptées.

Conclusion

En conclusion, la maîtrise de l’authentification Laravel offre une sécurité accrue pour vos applications. Quelles autres fonctionnalités de sécurité souhaitez-vous explorer pour renforcer encore plus votre projet Laravel?

ÉTIQUETÉ : Laravel
Facebook
Twitter
LinkedIn
Email
WhatsApp
Par L'Équipe Alphorm
Démocratiser la Connaissance Informatique pour Tous !
Suivre :
L'Équipe Alphorm, c'est la démocratisation de la connaissance informatique. Passionnés et dévoués, nous sommes là pour vous guider vers le succès en rendant la technologie accessible à tous. Rejoignez notre aventure d'apprentissage et de partage. Avec nous, le savoir IT devient une ressource inspirante et ouverte à tous dans un monde numérique en constante évolution.

Derniers Articles

  • Techniques pour gérer les fichiers texte en C#
  • Créer et lire un fichier CSV avec C#
  • JSON : Comprendre et Utiliser Efficacement
  • Créer une Base SQLite dans C#
  • Lecture des données SQLite simplifiée
Laisser un commentaire Laisser un commentaire

Laisser un commentaire Annuler la réponse

Vous devez vous connecter pour publier un commentaire.

Blog Alphorm
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
En cours de lecture : Système d’authentification sous Laravel

© Alphorm - Tous droits réservés