Actualités WEB et WordPress, thèmes, plugins. Ici, nous partageons des conseils et les meilleures solutions de sites Web.

Enregistrement de l’utilisateur et système de connexion dans Laravel

807

Laravel fournit un système intégré d’enregistrement et de connexion des utilisateurs. La plupart des développeurs ne connaissent pas ce système intégré (j’étais aussi l’un d’entre eux). Quand j’ai découvert cette fonctionnalité, j’ai été surpris. Cela permet de gagner beaucoup de temps en créant un système de connexion et d’enregistrement à partir de zéro.

Dans cet article, nous étudions le système d’enregistrement et de connexion des utilisateurs dans Laravel – la fonctionnalité intégrée fournie par Laravel lui-même.

Comme nous le savons tous, le processus de connexion et d’enregistrement a un flux ci-dessous qui doit généralement être intégré.

  • L’utilisateur crée un compte
  • Le lien de confirmation sera envoyé sur l’adresse e-mail de l’utilisateur
  • Une fois que l’utilisateur a cliqué sur le lien de confirmation, il est activé sur votre système.
  • L’utilisateur se connecte à votre site Web et peut accéder aux pages

Toutes les étapes ci-dessus sont couvertes dans Laravel. Vous n’avez pas besoin d’écrire de code pour construire ce système de création d’utilisateurs.

Cela dit, jetons un coup d’œil au système d’enregistrement et de connexion des utilisateurs dans Laravel

Commencer

Pour commencer, vous devez être prêt avec le projet Laravel. Si vous ne l’avez pas, créez-le en exécutant la commande :

composer create-project --prefer-dist laravel/laravel laravel-dev

Ici ‘laravel-dev’ est le nom du projet Laravel. L’utilisateur peut modifier ce nom.

Ensuite, vous devez intégrer l’authentification Laravel. Rendez-vous dans le répertoire racine du projet dans le terminal et exécutez les commandes ci-dessous une par une :

composer require laravel/ui --dev
php artisan ui vue --auth
npm install && npm run dev

Ces commandes créeront des contrôleurs d’authentification comme LoginController.php, RegisterController.php, etc que vous trouverez dans le app/Http/Controllers/Authrépertoire. Il crée également une vue login.blade.php, register.blade.phpsous resources/view/authrépertoire.

Les commandes ci-dessus créent également un app.blade.phpfichier sous resources/views/layoutsrépertoire. Cette vue est une mise en page de base pour l’application. Il utilise le framework CSS Bootstrap mais l’utilisateur peut le personnaliser et modifier le design.

Exécutez la commande de migration qui créera une table ‘users’ dans votre base de données.

php artisan migrate

Maintenant, si vous exécutez le projet Laravel sur le navigateur, vous verrez les liens pour la connexion et le formulaire d’inscription.

Enregistrement de l'utilisateur et système de connexion dans Laravel

A ce stade, les utilisateurs peuvent créer leur compte et se connecter au site. Mais comme je l’ai mentionné ci-dessus, avant qu’un utilisateur puisse accéder au système, il doit avoir confirmé son compte.

Dans l’étape suivante, nous verrons comment effectuer le processus de vérification des e-mails d’un utilisateur.

vérification de l’E-mail

Lors de la création d’un système d’enregistrement, lors de l’inscription de l’utilisateur, vous envoyez un lien d’activation aux utilisateurs. Ce lien d’activation sera utilisé pour vérifier le compte utilisateur. Une fois, l’utilisateur clique sur un lien d’activation puis nous rendons cet utilisateur actif. En d’autres termes, après avoir vérifié le compte, l’utilisateur peut parcourir les pages de votre application.

Laravel fournit un système intégré de processus de vérification des e-mails pour un utilisateur nouvellement enregistré. En utilisant ce système, un utilisateur enregistré recevra un e-mail avec un lien d’activation. Lors de l’activation du compte, l’utilisateur pourra accéder au système.

Ouvrez le AppUser.phpfichier et assurez-vous que le modèle « utilisateur » implémente le IlluminateContractsAuthMustVerifyEmailcontrat.

<?php
 
namespace App;
 
use IlluminateContractsAuthMustVerifyEmail;
use IlluminateFoundationAuthUser as Authenticatable;
use IlluminateNotificationsNotifiable;
 
class User extends Authenticatable implements MustVerifyEmail
{
    ...
    ...
}

Comment ça marche? Si vous vérifiez le fichier de migration, la table ‘users’ contient une email_verified_atcolonne. Cette colonne servira à vérifier si l’utilisateur a activé son compte ou non. Si le compte est activé, cette colonne doit avoir la date et l’heure d’activation.

Lorsque vous exécutez la commande d’authentification, elle crée une AuthVerificationControllerclasse dont la logique est écrite pour envoyer des liens de vérification et vérifier les e-mails. Le développeur peut vérifier ce fichier. Pour enregistrer les routes nécessaires pour ce contrôleur, écrivez les routes ci-dessous dans le routes/web.phpfichier.

Auth::routes(['verify' => true]);

L’utilisateur peut protéger ses routes qui devraient être derrière la connexion. Pour protéger les routes, vous devez appliquer middleware('verified')à ces routes. Après cela, ces routes protégées ne sont accessibles que par des comptes vérifiés.

Vous pouvez écrire le code pour protéger la route comme suit :

Route::get('profile', function() {
    return '<h1>This is profile page</h1>';
})->middleware('verified');

Si vous souhaitez savoir où rediriger l’utilisateur après vérification, ouvrez le AuthVerificationControllerfichier. Le fichier a la variable $redirectToqui sera utilisée pour la redirection. Modifiez cet itinéraire selon vos besoins.

protected $redirectTo = '/home';

Connexion et inscription de l’utilisateur

Vous êtes maintenant prêt à tester le système de connexion et d’enregistrement des utilisateurs. Comme nous traitons du processus d’inscription, votre système devrait pouvoir envoyer un e-mail. Vous pouvez utiliser le serveur SMTP de Gmail pour envoyer des e-mails. Pour plus de détails, lisez notre article Envoi d’e-mails via le serveur SMTP de Gmail dans Laravel.

Démarrez le serveur de développement local à l’aide de la commande :

php artisan serve

Créez un compte d’utilisateur sur la page d’inscription ici – http://localhost:8000/register

Enregistrement de l'utilisateur et système de connexion dans Laravel

Lors de la soumission d’un formulaire, vous obtiendrez le lien de vérification sur votre e-mail comme suit :

Enregistrement de l'utilisateur et système de connexion dans Laravel

Veuillez noter que Laravel vous permet de vous connecter à votre compte même si vous n’avez pas encore vérifié le compte. Mais vous ne pouvez pas accéder à la route protégée.

J’ai ajouté un middleware pour la route profile. Sans vérifier le compte, si vous essayez de visiter la page http://localhost:8000/profile, il redirigera vers l’ URL http://localhost:8000/email/verify.

Enregistrement de l'utilisateur et système de connexion dans Laravel

Allez-y et vérifiez votre compte. Vérifiez le tableau « utilisateurs » dans la base de données et vous verrez la email_verified_atcolonne remplie la date et l’heure d’activation. Cela signifie que vous avez vérifié votre compte avec succès. Vous devriez maintenant pouvoir accéder aux routes protégées.

J’espère que vous comprenez comment utiliser le système d’enregistrement et de connexion des utilisateurs dans Laravel. S’il vous plaît partager vos pensées et suggestions dans le commentaire ci-dessous.

Articles Liés

Source d’enregistrement: artisansweb.net

Ce site utilise des cookies pour améliorer votre expérience. Nous supposerons que cela vous convient, mais vous pouvez vous désinscrire si vous le souhaitez. J'accepte Plus de détails