Inhaltsverzeichnis
1. Fügen Sie Ihrem Benutzermodell eine Spalte remember_token hinzu
2. Aktualisieren Sie Ihr Anmeldeformular mit einem Kontrollkästchen "Erinnere dich"
3. Ändern Sie die Login -Logik, um "Erinnere dich mich daran, mich zu erinnern".
4. Wie lange erinnerst du dich zuletzt?
5. Sicherheitsüberlegungen
6. Anmelden und klären "Erinnere dich an mich"
Zusammenfassung
Heim PHP-Framework Laravel So implementieren Sie eine 'Erinnerung mir' -Funktionalität in Laravel

So implementieren Sie eine 'Erinnerung mir' -Funktionalität in Laravel

Aug 31, 2025 am 08:53 AM
laravel

Stellen Sie sicher, dass es in der Benutzertabelle eine Spalte für remm_token gibt. Laravels Standardmigration enthält bereits dieses Feld. Wenn nicht, wird es durch Migration hinzugefügt; 2. Fügen Sie ein Kontrollkästchen mit Namen hinzu, erinnern Sie sich im Anmeldeformular, um die Option "Erinnere mich" anzugeben. 3. Übergeben Sie den Parameter Remember an die Auth :: Versuch () während der manuellen Authentifizierung, um eine anhaltende Anmeldung zu ermöglichen. 4. "Remember Me" dauert standardmäßig 5 Jahre und kann über das Remal_FOR -Konfigurationselement in config/auth.php angepasst werden. 5. Laravel ungültig für Erinnerung, wenn sich das Kennwort ändert oder Benutzer löscht. Es wird empfohlen, HTTPS zu verwenden, um die Sicherheit in der Produktionsumgebung zu gewährleisten. 6. Wenn sich der Benutzer anmeldet, ruft er Auth :: moryout () auf und macht die Sitzung ungültig, um sicherzustellen, dass sich erinnert, dass sich erinnert. Zusammenfassend erkennt Laravel vollständig die sichere und zuverlässige Funktion "MEHR ME" über Datenbankfelder, Verschlüsselungscookies und integrierte Authentifizierungsmechanismen und kann normalerweise durch korrekte Konfiguration verwendet werden.

Wie man ein \ implementiert

Die Implementierung einer "Remember Me" -Funktionalität in Laravel ist unkompliziert, da das integrierte Authentifizierungssystem von Laravel es nicht in der Box unterstützt. Mit der Funktion "Remember Me" können Benutzer auch nach dem Schließen des Browsers für einen längeren Zeitraum angemeldet bleiben.

So können Sie es richtig implementieren und verwenden:


1. Fügen Sie Ihrem Benutzermodell eine Spalte remember_token hinzu

Laravel erwartet eine Spalte remember_token in der Benutzertabelle, um die Funktionalität "Remember Me" zu unterstützen.

Wenn Sie die Standard -Laravel -Benutzermigration verwenden, ist diese Spalte bereits enthalten:

 // In Create_users_table Migration
$ table-> remaNToken (); // Dies fügt Remal_Token Varchar (100) null hinzu

Wenn Sie es einer vorhandenen Tabelle oder einem vorhandenen Modell hinzufügen, erstellen Sie eine neue Migration:

 PHP Artisan Make: Migration add_remember_token_to_users_table - -table = Benutzer

Dann in der Migrationsdatei:

 öffentliche Funktion ()
{
    Schema :: Tabelle ('Benutzer', Funktion (Blueprint $ Tabelle) {
        $ table-> remaNToken ();
    });
}

öffentliche Funktion Down ()
{
    Schema :: Tabelle ('Benutzer', Funktion (Blueprint $ Tabelle) {
        $ table-> DropRememberToken ();
    });
}

Führen Sie die Migration aus:

 PHP Artisan migrieren

2. Aktualisieren Sie Ihr Anmeldeformular mit einem Kontrollkästchen "Erinnere dich"

Fügen Sie in Ihrem Anmeldeformular (z. B. login.blade.php ) ein Kontrollkästchen für "MEHR ME" hinzu:

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

    <div>
        <Label für = "E -Mail"> E -Mail </label>
        <input id = "E -Mail" type = "E -Mail" name = "E -Mail" value = "{{alte (&#39;E -Mail&#39;)}}” Erforderlich> erforderlich>
    </div>

    <div>
        <etiketts für = "password"> kennwort </label>
        <input id = "password" type = "password" name = "password" erforderlich>
    </div>

    <div>
        <input type = "checkBox" name = "remember" id = "remember" {{old (&#39;relinarte&#39;)? &#39;Checked&#39;: &#39;&#39;}}>
        <label für = "remember"> remember me </label>
    </div>

    <Schaltfläche Typ = "Senden"> Login </button>
</form>

3. Ändern Sie die Login -Logik, um "Erinnere dich mich daran, mich zu erinnern".

Wenn Sie Laravel Breeze, Jetstream oder Stärkung verwenden, wird dies bereits behandelt. Wenn Sie jedoch manuell mit der Authentifizierung handeln (z. B. in einem benutzerdefinierten LoginController ), müssen Sie die Option remember an die attempt übergeben.

 Verwenden Sie Illuminate \ http \ request;
Verwenden Sie Illuminate \ Support \ facades \ auth;

Login für öffentliche Funktion (Anfrage $ Anfrage)
{
    $ zertifizieren = $ request-> validate ([
        &#39;E -Mail&#39; => [&#39;Erforderlich&#39;, &#39;E -Mail&#39;],
        &#39;Passwort&#39; => [&#39;Erforderlich&#39;],
    ]);

    $ remember = $ request-> hat (&#39;remember&#39;);

    if (Auth :: Versuch ($ connectionsdaten, $ remember)) {
        $ request-> seision ()-> regenerate ();
        return redirect ()-> beabsichtigt (&#39;/Dashboard&#39;);
    }

    zurück zurückkehren ()-> Witherrors ([
        &#39;E -Mail&#39; => &#39;Die angegebenen Anmeldeinformationen stimmen nicht mit unseren Datensätzen überein.&#39;,,
    ]);
}

HINWEIS: Der zweite Parameter von Auth::attempt() ist $remember , der, wenn true , Laravel sagt, dass der Benutzer auf unbestimmte Zeit angemeldet ist (bis das Token abläuft oder ungültig ist).


4. Wie lange erinnerst du dich zuletzt?

Standardmäßig hält Laravel 5 Jahre lang das Anmeldung "Remember Me". Dies ist in der Sitzungskonfiguration definiert.

Sie können dies anpassen, indem Sie die Option remember_for in config/auth.php ändern:

 &#39;Anbieter&#39; => [
    &#39;Benutzer&#39; => [
        &#39;Treiber&#39; => &#39;eloquent&#39;,
        &#39;modell&#39; => app \ models \ user :: class,
        &#39;remember_for&#39; => 31536000, // 1 Jahr in Sekunden (optional)
    ],
],

⚠️ Achten Sie darauf, dass Sie php artisan config:cache in der Produktion nach Ändern von Konfigurationsdateien ausführen.


5. Sicherheitsüberlegungen

  • Das remember_token wird in der Datenbank und als sicheres, gehashtes Cookie im Browser des Benutzers gespeichert.
  • Laravel hat das Token für Kennwortänderung oder Benutzerlöschung automatisch ungültig.
  • Verwenden Sie immer HTTPS in der Produktion, um den Remin-Me-Keks vor Abfangen zu schützen.

6. Anmelden und klären "Erinnere dich an mich"

Wenn sich ein Benutzer manuell anmeldet, wird Laravel standardmäßig das Remin-Me-Token ungültig. In Ihrer Abmeldemethode:

 Auth :: logout ();
$ request-> seision ()-> ungültig ();
$ request-> seision ()-> regeneratetoken ();

Dies stellt sicher, dass das Token "Remember Me" aus der Datenbank entfernt wird.


Zusammenfassung

Um "Erinnere dich an mich" in Laravel:

  • remember_token Sie sicher
  • ✅ Fügen Sie im Anmeldeformular ein remember -Checkbox hinzu
  • ✅ Übergeben Sie die remember -Flagge an Auth::attempt()
  • ✅ Logo ordnungsgemäß umgehen, um das Token ungültig zu machen

Laravel kümmert sich um den Rest - speichert Token, bestätigt sie bei zukünftigen Besuchen und hält die Benutzer sicher angemeldet.

Grundsätzlich ist es standardmäßig einfach zu implementieren und robust.

Das obige ist der detaillierte Inhalt vonSo implementieren Sie eine 'Erinnerung mir' -Funktionalität in Laravel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Stock Market GPT

Stock Market GPT

KI-gestützte Anlageforschung für intelligentere Entscheidungen

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie man in Laravel eloquent verwendet Wie man in Laravel eloquent verwendet Aug 21, 2025 pm 02:30 PM

Modelle erstellen und Migration: Verwenden Sie PhPartisanMake: ModellPost-M, um Modelle und Migrationsdateien zu generieren, die Tabellenstruktur zu definieren und PhPartisanmigrate auszuführen. 2. Grundlegende CRUD -Operationen: Verwenden Sie Post :: All (), Find (), Create (), Save () und Delete (), um Daten abzufragen, zu erstellen, zu aktualisieren und zu löschen. 3. Verwenden Sie die eloquente Assoziation: Definieren Sie die Beziehungen zwischen Hörbol und Hasmany im Modell und verwenden Sie die Methode mit (), um die zugehörigen Daten vorzuladen, um N 1 -Abfrageprobleme zu vermeiden. V.

So erstellen Sie ein soziales Netzwerk mit Laravel So erstellen Sie ein soziales Netzwerk mit Laravel Sep 01, 2025 am 06:39 AM

Ja, youcancreateasocialNetworkwithlaravelByFollowingthesSteps: 1.SetUplaravelusedComposer, configurethe.envFile, EnableAuthenticationViabreeze/Jetstream/Verstärkung, AndrunMigrationsforSerManmanagement

So verwenden Sie die Aufgabenplanung von Laravel So verwenden Sie die Aufgabenplanung von Laravel Aug 31, 2025 am 06:07 AM

Mit Laravels TaskScheduling-System können Sie Timing-Aufgaben über PHP definieren und verwalten, ohne den Server-Crontab manuell zu bearbeiten, nur eine Cron-Aufgabe hinzuzufügen, die dem Server einmal pro Minute ausgeführt wird: *CD/Path-to-Your-Project && PhPartiSeSule: Run >>/Dev/Dev/null2> & 1 und dann werden alle Tasks konfiguriert. 1. Definieren von Aufgaben können Befehls-, Anruf- oder Exec-Methoden verwenden, z. B. $ plan-

Wie man mit polymorphen Beziehungen in Laravel arbeitet Wie man mit polymorphen Beziehungen in Laravel arbeitet Aug 25, 2025 am 10:56 AM

PolymorphicrelationshipSinlaravelallowamodellikeCompomentorimagetobelongTomultiplemodelsSuchaspost, Video, Ouserusingasinglease.2.DedatabaseSchemarequires {relation} _idandandcomputerable_typecolumns, exemplifictifydyTableable_idandcompommentable_typecoloNs, Exemplifictable, exemplifictabledy und entfaltet

Wie man eine Laravel -Anwendung internationalisiert Wie man eine Laravel -Anwendung internationalisiert Aug 22, 2025 pm 02:31 PM

Sprachdateien erstellen: Erstellen Sie Subdirektorien für jede Sprache (z. B. en, es) im Ressourcen-/Lang -Verzeichnis und fügen Sie Message.php -Datei hinzu, oder verwenden Sie die JSON -Datei, um die Übersetzung zu speichern. 2. Setzen Sie die Anwendungssprache: Lesen Sie den Anforderungsheader Akzeptieren Sie die Sprache über Middleware oder erkennen Sie die Sprache über das URL-Präfix, setzen Sie die aktuelle Sprache mit app ()-> setlocale () und registrieren Sie die Middleware in kernel.php. 3.. Verwenden Sie Übersetzungsfunktionen: Verwenden Sie __ (), trans () oder @lang in der Ansicht und verwenden Sie __ (), das Fallback unterstützt; 4. Supportparameter und Plural: Verwenden Sie Platzhalter in Übersetzungszeichenfolgen wie: n

So erstellen Sie ein Backend für mobile Apps mit Laravel So erstellen Sie ein Backend für mobile Apps mit Laravel Sep 02, 2025 am 08:34 AM

Um Laravel zum Erstellen eines mobilen Backends zu erstellen, muss zunächst das Framework installiert und die Datenbankumgebung konfiguriert werden. 2. Definieren Sie API -Routen in Routen/api.php und geben Sie eine JSON -Antwort mit dem Ressourcencontroller zurück. 3.. Implementieren Sie die API -Authentifizierung über Laravelsanctum, um Token für die mobile Speicherung und Authentifizierung zu generieren; 4. Überprüfen Sie den Dateityp beim Hochladen von Dateien und speichern Sie sie auf öffentlicher Festplatte und erstellen Sie Soft -Links für den externen Zugriff. 5. Die Produktionsumgebung erfordert HTTPS, setzen aktuelle Grenzwerte ein, konfigurieren CORs, führen Sie die API -Versionskontrolle durch und optimieren Sie die Fehlerbehandlung. Es wird außerdem empfohlen, API -Ressourcen, Paging-, Warteschlangen- und API -Dokumenten -Tools zu verwenden, um die Wartbarkeit und Leistung zu verbessern. Verwenden Sie Laravel, um einen Safe zu bauen,

Wie kämpfe ich Nachrichten in einer Datei in Laravel an? Wie kämpfe ich Nachrichten in einer Datei in Laravel an? Sep 21, 2025 am 06:04 AM

LaravelusesmonologtologMessagesViathelogfacade, withefaultLogStoredInstorage/logs/laravel.log.configurechannelsinconfig/logging.phptocontroloutput; thedefaultStackchannelaggatesMulthandleSlerslikesingle: WARNSLIKSLE:

So implementieren Sie eine 'Erinnerung mir' -Funktionalität in Laravel So implementieren Sie eine 'Erinnerung mir' -Funktionalität in Laravel Aug 31, 2025 am 08:53 AM

Stellen Sie sicher, dass es in der Benutzertabelle eine Spalte für remm_token gibt. Laravels Standardmigration enthält bereits dieses Feld. Wenn nicht, wird es durch Migration hinzugefügt; 2. Fügen Sie ein Kontrollkästchen mit Namen hinzu, erinnern Sie sich im Anmeldeformular, um die Option "Erinnere mich" anzugeben. 3. Übergeben Sie den Parameter Remember an die Auth :: Versuch () während der manuellen Authentifizierung, um eine anhaltende Anmeldung zu ermöglichen. 4. "Remember Me" dauert standardmäßig 5 Jahre und kann über das Remal_FOR -Konfigurationselement in config/auth.php angepasst werden. 5. Laravel ungültig für Erinnerung, wenn sich das Kennwort ändert oder Benutzer löscht. Es wird empfohlen, HTTPS zu verwenden, um die Sicherheit in der Produktionsumgebung zu gewährleisten. 6

See all articles