Table des matières
1. Ajoutez une colonne remember_token à votre modèle d'utilisateur
2. Mettez à jour votre formulaire de connexion avec une case "Remember Me"
3. Modifiez la logique de connexion pour prendre en charge "Remember Me"
4. Combien de temps dure "Se souvenir de moi"?
5. Considérations de sécurité
6. Connexion et effacer "Rappelez-vous de moi"
Résumé
Maison cadre php Laravel Comment implémenter une fonctionnalité 'Remember Me' dans Laravel

Comment implémenter une fonctionnalité 'Remember Me' dans Laravel

Aug 31, 2025 am 08:53 AM
laravel

Assurez-vous qu'il existe une colonne Remember_token dans la table utilisateur. La migration par défaut de Laravel comprend déjà ce champ. Sinon, il sera ajouté par migration; 2. Ajoutez une case à cocher avec le nom Rappelez-vous dans le formulaire de connexion pour fournir l'option "Remember Me"; 3. Passez le paramètre Remember à la méthode AUTH :: TUT () pendant l'authentification manuelle pour activer la connexion persistante; 4. "Remember Me" dure 5 ans par défaut et peut être personnalisé via l'élément de configuration Remember_For dans config / auth.php; 5. Laravel invalide automatiquement Remember_Token lorsque le mot de passe change ou les suppressions de l'utilisateur. Il est recommandé d'utiliser HTTPS pour assurer la sécurité dans l'environnement de production; 6. Lorsque l'utilisateur se déconnecte, il appelle Auth :: Logout () et invalide la session pour s'assurer que Remember_Token est effacé; En résumé, Laravel réalise pleinement la fonction sûre et fiable "Remember Me" à travers des champs de base de données, des cookies de chiffrement et des mécanismes d'authentification intégrés, et peut être utilisé normalement par une configuration correcte.

Comment implémenter un \

La mise en œuvre d'une fonctionnalité "Remember Me" dans Laravel est simple car le système d'authentification intégré de Laravel le prend en charge hors de la boîte. La fonction "Remember Me" permet aux utilisateurs de rester connectés pendant une période plus longue, même après la fermeture du navigateur.

Voici comment vous pouvez correctement implémenter et l'utiliser:


1. Ajoutez une colonne remember_token à votre modèle d'utilisateur

Laravel s'attend à une colonne remember_token dans la table des utilisateurs pour prendre en charge la fonctionnalité "Remember Me".

Si vous utilisez la migration d'utilisateurs Laravel par défaut, cette colonne est déjà incluse:

 // dans Create_users_Table Migration
$ Table-> RememberToken (); // Cela ajoute Remember_Token Varchar (100) null

Si vous l'ajoutez à un tableau ou un modèle existant, créez une nouvelle migration:

 PHP Artisan Mak

Ensuite, dans le fichier de migration:

 Fonction publique UP ()
{
    Schéma :: table ('utilisateurs', fonction (tableau Blueprint $) {
        $ Table-> RememberToken ();
    });
}

Fonction publique Down ()
{
    Schéma :: table ('utilisateurs', fonction (tableau Blueprint $) {
        $ table-> droprememberToken ();
    });
}

Exécutez la migration:

 PHP Artisan Migrate

2. Mettez à jour votre formulaire de connexion avec une case "Remember Me"

Dans votre formulaire de connexion (par exemple, login.blade.php ), ajoutez une case à cocher pour "Remember Me":

 <form method = "post" action = "{{Route (&#39;Login&#39;)}}">
    @csrf

    <div>
        <étiquette pour = "Email"> Email </Babed>
        <entrée id = "e-mail" type = "e-mail" name = "e-mail" value = "{{old (&#39;e-mail&#39;)}}" requis>
    </div>

    <div>
        <étiquette pour = "Mot de passe"> Mot de passe </ label>
        <entrée id = "mot de passe" type = "mot de passe" name = "mot de passe" requis>
    </div>

    <div>
        <input type = "checkbox" name = "Remember" id = "Remember" {{old (&#39;Remember&#39;)? &#39;vérifié&#39;: &#39;&#39;}}>
        <étiquette pour = "Remember"> Rappelez-vous moi </bétique>
    </div>

    <Button Type = "Soumider"> Connexion </ftones>
</ form>

3. Modifiez la logique de connexion pour prendre en charge "Remember Me"

Si vous utilisez Laravel Breeze, Jetsstream ou Fortify, cela est déjà géré. Mais si vous gérez l'authentification manuellement (par exemple, dans un LoginController personnalisé), vous devez passer l'option remember à la méthode attempt .

 Utiliser illuminate \ http \ request;
Utiliser illuminate \ support \ FACADES \ Auth;

Connexion de la fonction publique (demande $ demande)
{
    $ indentings = $ request-> valider ([
        &#39;email&#39; => [&#39;requis&#39;, &#39;e-mail&#39;],
        &#39;mot de passe&#39; => [&#39;requis&#39;],
    ]));

    $ rappelez-vous = $ request-> a («rappeler»);

    if (auth :: tentating ($ indentings, $ webral))) {
        $ request-> session () -> regenerate ();
        return redirect () -> voulu (&#39;/ tableau de bord&#39;);
    }

    return back () -> witherrors ([[
        &#39;Email&#39; => &#39;Les informations d&#39;identification fournies ne correspondent pas à nos enregistrements.&#39;,
    ]));
}

Remarque: Le deuxième paramètre de Auth::attempt() se $remember , qui, lorsqu'il true , dit à Laravel de garder l'utilisateur connecté indéfiniment (jusqu'à ce que le jeton expire ou soit invalidé).


4. Combien de temps dure "Se souvenir de moi"?

Par défaut, Laravel garde la connexion "Remember Me" pendant 5 ans . Ceci est défini dans la configuration de la session.

Vous pouvez le personnaliser en modifiant l'option remember_for dans config/auth.php :

 &#39;fournisseurs&#39; => [
    &#39;utilisateurs&#39; => [
        &#39;driver&#39; => &#39;éloquent&#39;,
        &#39;modèle&#39; => app \ modèles \ user :: class,
        &#39;Remember_for&#39; => 31536000, // 1 an en secondes (facultatif)
    ],
],

⚠️ Assurez-vous d'exécuter php artisan config:cache en production après avoir modifié les fichiers de configuration.


5. Considérations de sécurité

  • Le remember_token est stocké dans la base de données et en tant que cookie sécurisé dans le navigateur de l'utilisateur.
  • Laravel invalide automatiquement le jeton sur le changement de mot de passe ou la suppression de l'utilisateur.
  • Utilisez toujours les HTTPS en production pour protéger le cookie Remember-moi contre l'interception.

6. Connexion et effacer "Rappelez-vous de moi"

Lorsqu'un utilisateur se déconnecte manuellement, Laravel invalide le jeton Remember-Me par défaut. Dans votre méthode de déconnexion:

 Auth :: Logout ();
$ request-> session () -> invalidate ();
$ request-> session () -> RegenerateToken ();

Cela garantit que le jeton "Remember Me" est effacé de la base de données.


Résumé

Pour activer "Remember Me" à Laravel:

  • ✅ Assurez-vous que la colonne remember_token existe dans la table des utilisateurs
  • ✅ Ajoutez une boîte à cocher remember dans le formulaire de connexion
  • ✅ Passez le drapeau remember to Auth::attempt()
  • ✅ Gérer correctement le logo pour invalider le jeton

Laravel gère le reste - stocker des jetons, les valider lors de visites futures et garder les utilisateurs connectés en toute sécurité.

Fondamentalement, il est simple d'implémenter et de robuster par défaut.

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Stock Market GPT

Stock Market GPT

Recherche d'investissement basée sur l'IA pour des décisions plus intelligentes

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Comment utiliser Eloquent dans Laravel Comment utiliser Eloquent dans Laravel Aug 21, 2025 pm 02:30 PM

Créer des modèles et la migration: utilisez PhPartisanMake: ModelPost-M pour générer des modèles et des fichiers de migration, définissez la structure du tableau et exécutez PhPartisanMigrate; 2. 3. Utiliser une association éloquente: définir l'appartenance et les relations HasMany dans le modèle, et utilisez la méthode avec () pour précharger les données associées pour éviter les problèmes de requête n 1; 4. Requête éloquente: utilisez le constructeur de requête pour des appels de chaîne tels que où

Comment utiliser la planification des tâches de Laravel Comment utiliser la planification des tâches de Laravel Aug 31, 2025 am 06:07 AM

Le système TaskSCheduling de Laravel vous permet de définir et de gérer les tâches de synchronisation via PHP, sans éditer manuellement le serveur Crontab, vous n'avez qu'à ajouter une tâche CRON qui est exécutée une fois par minute au serveur: * CD / PATH-TOT-YOUR-YOUR-YOUR-YOUR-YOUR-YOUR-YOUR-YOUR-YOUR-YOUR-YOUR-TROject && phpartisanschedule: Exécuter >> / Dev / Null2> & 1, et ensuite les tâches sont configurées dans la méthode de la programmation de l'accident \ Kernl; 1. La définition des tâches peut utiliser des méthodes de commande, d'appel ou d'exécution, telles que $ calendrier-

Comment créer un réseau social avec Laravel Comment créer un réseau social avec Laravel Sep 01, 2025 am 06:39 AM

Oui, YouCancreatEasocialNetworkwithLaravelByFollowingTheSestests: 1.SetUpLaraveLusingComposer, Configurethe.envfile, pertinentAuthenticationViabeze / Jetsstream / Fortify, andrunmigrationsforUserManagement.2

Comment travailler avec les relations polymorphes à Laravel Comment travailler avec les relations polymorphes à Laravel Aug 25, 2025 am 10:56 AM

PolymorphicRelationshipSinLaravelallowamodellikEcommentorimagetobelongTomultipleModelsSuchaspost, vidéo, OruserUsingAingLinsEassociation.2.Thedatabaseschemarequires {relation} _idand {relation} _TypeinacoMn, eXEMPLIBudcuMeMment_idandcunable_typeinacoMnus, EXEMPLIBUDAMENTALE_DANDANMETALAGE_

Comment créer un backend d'application mobile avec Laravel Comment créer un backend d'application mobile avec Laravel Sep 02, 2025 am 08:34 AM

L'utilisation de Laravel pour créer un backend mobile nécessite d'abord d'installer le cadre et de configurer l'environnement de la base de données; 2. Définissez les routes API dans Routes / API.php et renvoyez une réponse JSON à l'aide du contrôleur de ressource; 3. Implémentez l'authentification de l'API via Laravelsanctum pour générer des jetons pour le stockage mobile et l'authentification; 4. Vérifiez le type de fichier lors du téléchargement de fichiers et stockez-le sur le disque public, et créez des liens souples pour un accès externe; 5. L'environnement de production nécessite HTTPS, définir les limites de courant, configurer les COR, effectuer le contrôle de la version API et optimiser la gestion des erreurs. Il est également recommandé d'utiliser les ressources API, la pagination, les files d'attente et les outils de documents API pour améliorer la maintenabilité et les performances. Utilisez Laravel pour construire un coffre-fort,

Comment internationaliser une application Laravel Comment internationaliser une application Laravel Aug 22, 2025 pm 02:31 PM

Créer des fichiers linguistiques: créer des sous-répertoires pour chaque langue (tels que EN, ES) dans le répertoire Resources / Lang et ajouter des fichiers messages.php, ou utiliser le fichier JSON pour stocker la traduction; 2. Définir le langage de l'application: Lisez l'en-tête de demande Accept-Language via le middleware ou détectez le langage via un préfixe d'URL, définissez la langue actuelle à l'aide d'App () -> setLocale () et enregistrez le middleware dans kernel.php; 3. Utilisez des fonctions de traduction: utilisez __ (), trans () ou @lang dans la vue pour obtenir le contenu de traduction, et il est recommandé d'utiliser __ () qui prend en charge le secours; 4. Paramètres de soutien et pluriel: Utilisez les espaces réservés dans les chaînes de traduction telles que: n

Comment enregistrer les messages dans un fichier dans Laravel? Comment enregistrer les messages dans un fichier dans Laravel? Sep 21, 2025 am 06:04 AM

LaravelsesMonologTologMessagesViathelogFacade, avec DefaultLogsStoredInstorage / Logs / Laravel.log.ConfigureChannelsInConfig / Logging.PhptoControloutput

Comment implémenter une fonctionnalité 'Remember Me' dans Laravel Comment implémenter une fonctionnalité 'Remember Me' dans Laravel Aug 31, 2025 am 08:53 AM

Assurez-vous qu'il existe une colonne Remember_token dans la table utilisateur. La migration par défaut de Laravel comprend déjà ce champ. Sinon, il sera ajouté par migration; 2. Ajoutez une case à cocher avec le nom Rappelez-vous dans le formulaire de connexion pour fournir l'option "Remember Me"; 3. Passez le paramètre Remember à la méthode AUTH :: TUT () pendant l'authentification manuelle pour activer la connexion persistante; 4. "Remember Me" dure 5 ans par défaut et peut être personnalisé via l'élément de configuration Remember_For dans config / auth.php; 5. Laravel invalide automatiquement Remember_Token lorsque le mot de passe change ou les suppressions de l'utilisateur. Il est recommandé d'utiliser HTTPS pour assurer la sécurité dans l'environnement de production; 6

See all articles