So implementieren Sie eine 'Erinnerung mir' -Funktionalit?t in Laravel
Aug 31, 2025 am 08:53 AMStellen 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.
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 ('login')}}"> @csrf <div> <Label für = "E -Mail"> E -Mail </label> <input id = "E -Mail" type = "E -Mail" name = "E -Mail" value = "{{alte ('E -Mail')}}” 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 ('relinarte')? 'Checked': ''}}> <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 ([ 'E -Mail' => ['Erforderlich', 'E -Mail'], 'Passwort' => ['Erforderlich'], ]); $ remember = $ request-> hat ('remember'); if (Auth :: Versuch ($ connectionsdaten, $ remember)) { $ request-> seision ()-> regenerate (); return redirect ()-> beabsichtigt ('/Dashboard'); } zurück zurückkehren ()-> Witherrors ([ 'E -Mail' => 'Die angegebenen Anmeldeinformationen stimmen nicht mit unseren Datens?tzen überein.',, ]); }
HINWEIS: Der zweite Parameter von
Auth::attempt()
ist$remember
, der, wenntrue
, 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:
'Anbieter' => [ 'Benutzer' => [ 'Treiber' => 'eloquent', 'modell' => app \ models \ user :: class, 'remember_for' => 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 anAuth::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!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Stock Market GPT
KI-gestützte Anlageforschung für intelligentere Entscheidungen

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

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.

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

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

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-

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,

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

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

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
