...
✅ WEB- und WordPress-Nachrichten, Themen, Plugins. Hier teilen wir Tipps und beste Website-Lösungen.

Benutzerregistrierung und Login-System in Laravel

82

Laravel bietet ein integriertes Benutzerregistrierungs- und Anmeldesystem. Die meisten Entwickler kennen dieses eingebaute System nicht (ich war auch einer von ihnen). Als ich von dieser Funktion erfuhr, war ich überrascht. Es spart viel Zeit beim Erstellen eines Login- und Registrierungssystems von Grund auf.

In diesem Artikel untersuchen wir das Benutzerregistrierungs- und Anmeldesystem in Laravel – die integrierte Funktion, die von Laravel selbst bereitgestellt wird.

Wie wir alle wissen, hat der Anmelde- und Registrierungsprozess den folgenden Ablauf, der normalerweise integriert werden muss.

  • Benutzer erstellt ein Konto
  • Bestätigungslink wird an die E-Mail-Adresse des Benutzers gesendet
  • Sobald der Benutzer auf den Bestätigungslink klickt, wird er auf Ihrem System aktiviert.
  • Benutzer melden sich auf Ihrer Website an und können auf die Seiten zugreifen

Alle oben genannten Schritte werden in Laravel behandelt. Sie müssen keinen Code schreiben, um dieses Benutzererstellungssystem zu erstellen.

Schauen wir uns jedoch das Benutzerregistrierungs- und Anmeldesystem in Laravel. an

Einstieg

Für den Einstieg sollten Sie mit dem Laravel-Projekt bereit sein. Wenn Sie es nicht haben, erstellen Sie es, indem Sie den Befehl ausführen:

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

Hier ist ‘laravel-dev’ der Name des Laravel-Projekts. Der Benutzer kann diesen Namen ändern.

Als nächstes müssen Sie die Laravel-Authentifizierung integrieren. Gehen Sie zum Projektstammverzeichnis im Terminal und führen Sie die folgenden Befehle nacheinander aus:

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

Diese Befehle erstellen Authentifizierungscontroller wie LoginController.php, RegisterController.php, usw., die Sie im app/Http/Controllers/AuthVerzeichnis finden. Es schafft auch eine Aussicht login.blade.php, register.blade.phpunter resources/view/authVerzeichnis.

Die obigen Befehle app.blade.phperstellen auch eine Datei unter resources/views/layoutsVerzeichnis. Diese Ansicht ist ein Basislayout für die Anwendung. Es verwendet das Bootstrap-CSS-Framework, aber der Benutzer kann es anpassen und das Design ändern.

Führen Sie den Migrationsbefehl aus, der eine ‘Benutzer’-Tabelle in Ihrer Datenbank erstellt.

php artisan migrate

Wenn Sie nun das Laravel-Projekt im Browser ausführen, sehen Sie die Links zum Login und Registrierungsformular.

Benutzerregistrierung und Login-System in Laravel

In dieser Phase können Benutzer ihr Konto erstellen und sich auf der Website anmelden. Aber wie oben erwähnt, sollte ein Benutzer sein Konto bestätigen, bevor er auf das System zugreifen kann.

Im nächsten Schritt werden wir sehen, wie Sie den E-Mail-Verifizierungsprozess eines Benutzers durchführen.

E-Mail-Verifizierung

Beim Aufbau eines Registrierungssystems senden Sie bei der Benutzeranmeldung einen Aktivierungslink an die Benutzer. Dieser Aktivierungslink wird verwendet, um das Benutzerkonto zu verifizieren. Sobald der Benutzer auf einen Aktivierungslink klickt, aktivieren wir diesen Benutzer. Mit anderen Worten, nach der Überprüfung kann der Benutzer des Kontos die Seiten Ihrer Anwendung durchsuchen.

Laravel bietet ein integriertes System für den E-Mail-Verifizierungsprozess für einen neu registrierten Benutzer. Bei diesem System erhält ein registrierter Benutzer eine E-Mail mit einem Aktivierungslink. Nach der Aktivierung des Kontos kann der Benutzer auf das System zugreifen.

Öffnen Sie die AppUser.phpDatei und stellen Sie sicher, dass das Modell "Benutzer" den IlluminateContractsAuthMustVerifyEmailVertrag implementiert .

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

Wie funktioniert es? Wenn Sie die Migrationsdatei überprüfen, enthält die Tabelle ‘users’ eine email_verified_atSpalte. Diese Spalte wird verwendet, um zu überprüfen, ob der Benutzer sein Konto aktiviert hat oder nicht. Wenn das Konto aktiviert ist, sollte diese Spalte das Datum und die Uhrzeit der Aktivierung enthalten.

Wenn Sie den Authentifizierungsbefehl ausführen, wird eine AuthVerificationControllerKlasse erstellt, die eine Logik zum Senden von Bestätigungslinks und zum Überprüfen von E-Mails enthält. Der Entwickler kann diese Datei überprüfen. Um die erforderlichen Routen für diesen Controller zu registrieren, schreiben Sie die folgenden Routen in die routes/web.phpDatei.

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

Der Benutzer kann seine Routen schützen, die hinter dem Login stehen sollen. Um die Routen zu schützen, müssen Sie sich middleware('verified')auf diese Routen bewerben. Danach kann auf diese geschützten Routen nur von verifizierten Konten zugegriffen werden.

Sie können den Code zum Schutz der Route wie folgt schreiben:

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

Wenn Sie die Kontrolle darüber haben möchten, wohin der Benutzer nach der Überprüfung weitergeleitet werden soll, öffnen Sie die AuthVerificationControllerDatei. Die Datei enthält die Variable, $redirectTodie für die Umleitung verwendet wird. Ändern Sie diese Route nach Ihren Wünschen.

protected $redirectTo = '/home';

Benutzeranmeldung und Registrierung

Sie sind nun bereit, das Benutzer-Login- und Registrierungssystem zu testen. Da wir uns mit dem Anmeldeprozess befassen, sollte Ihr System in der Lage sein, eine E-Mail zu senden. Sie können den Gmail-SMTP-Server zum Senden von E-Mails verwenden. Weitere Informationen finden Sie in unserem Artikel Senden von E-Mails über den Gmail-SMTP-Server in Laravel.

Starten Sie den lokalen Entwicklungsserver mit dem Befehl:

php artisan serve

Erstellen Sie hier ein Konto eines Benutzers auf der Registrierungsseite – http://localhost:8000/register

Benutzerregistrierung und Login-System in Laravel

Nach dem Absenden eines Formulars erhalten Sie den Bestätigungslink in Ihrer E-Mail wie folgt:

Benutzerregistrierung und Login-System in Laravel

Bitte beachten Sie, dass Sie sich mit Laravel bei Ihrem Konto anmelden können, auch wenn Sie das Konto noch nicht verifiziert haben. Sie können jedoch nicht auf die geschützte Route zugreifen.

Ich habe Middleware für die Route hinzugefügt profile. Wenn Sie versuchen, die Seite http://localhost:8000/profile zu besuchen, ohne das Konto zu überprüfen, wird es auf die URL http://localhost:8000/email/verify umgeleitet .

Benutzerregistrierung und Login-System in Laravel

Fahren Sie fort und bestätigen Sie Ihr Konto. Überprüfen Sie die Tabelle ‘Benutzer’ in der Datenbank und Sie sehen eine email_verified_atSpalte mit Datum und Uhrzeit der Aktivierung. Dies bedeutet, dass Sie Ihr Konto erfolgreich verifiziert haben. Jetzt sollten Sie auf geschützte Routen zugreifen können.

Ich hoffe, Sie verstehen, wie Sie das Benutzerregistrierungs- und Anmeldesystem in Laravel verwenden. Bitte teilen Sie Ihre Gedanken und Vorschläge im Kommentar unten mit.

Zum Thema passende Artikel

Aufnahmequelle: artisansweb.net

Diese Website verwendet Cookies, um Ihre Erfahrung zu verbessern. Wir gehen davon aus, dass Sie damit einverstanden sind, Sie können sich jedoch abmelden, wenn Sie möchten. Annehmen Weiterlesen