Heim > PHP-Framework > Laravel > So implementieren Sie die Anmeldefunktion in Laravel5.3 (Prozessfreigabe)

So implementieren Sie die Anmeldefunktion in Laravel5.3 (Prozessfreigabe)

PHPz
Freigeben: 2023-04-03 19:55:31
Original
531 Leute haben es durchsucht

Laravel ist ein Open-Source-PHP-Webframework, das Entwicklern viele praktische Funktionen und praktische APIs bietet, wodurch der Entwicklungszyklus erheblich verkürzt und die Entwicklungskosten gesenkt werden. In Laravel 5.3 ist die Anmeldefunktion in einen unabhängigen Dienst gekapselt, was die Sicherheit und das Benutzererlebnis erheblich verbessern kann. In diesem Artikel wird der Anmeldevorgang von Laravel 5.3 vorgestellt.

  1. Authentifizierungs-Controller erstellen

In Laravel 5.3 benötigt die Anwendung einen Authentifizierungs-Controller, um die Anmeldung und Abmeldung zu verwalten. Mit Artisan-Befehlen können Controller schnell generiert werden. Generieren Sie den Auth-Controller, indem Sie den folgenden Befehl im Terminal eingeben:

php artisan make:auth
Nach dem Login kopieren

Dieser Befehl generiert Ansichts- und Controller-Dateien, die zum Anpassen der Authentifizierungslogik verwendet werden können.

  1. Benutzermodell definieren

Um die Authentifizierungsfunktion zu implementieren, ist ein entsprechendes Benutzermodell erforderlich. Kann mit dem Artisan-Befehl generiert werden:

php artisan make:model User -m
Nach dem Login kopieren

Dieser Befehl generiert eine Benutzermodelldatei und eine Datenbankmigrationsdatei. Es wird empfohlen, die Benutzerdatentabelle „Benutzer“ zu nennen.

  1. Benutzermodell aktualisieren

Standardmäßig erwartet Laravel 5.3, dass die Benutzerdatentabelle zwei Felder „E-Mail“ und „Passwort“ enthält. Wenn Sie andere Felder zur Authentifizierung verwenden möchten, müssen Sie diese Felder im Benutzermodell definieren. Öffnen Sie die Datei app/User.php und fügen Sie den folgenden Inhalt hinzu:

protected $fillable = [
   'name', 'email', 'password',
];
Nach dem Login kopieren
  1. Passwort verschlüsseln

Laravel 5.3 verfügt über einen integrierten Bcrypt-Hash-Verschlüsselungsalgorithmus, der das Passwort hashen kann, um die Sicherheit zu erhöhen. Wenn Sie einen neuen Benutzer registrieren, können Sie das Passwort mit dem folgenden Code verschlüsseln:

protected function create(array $data)
{
   return User::create([
      'name'     => $data['name'],
      'email'    => $data['email'],
      'password' => bcrypt($data['password']),
   ]);
}
Nach dem Login kopieren
  1. Anmeldeansicht schreiben

Laravel 5.3 bietet Stile für Anmelde- und Registrierungsseiten, die sofort verwendet werden können. Es kann jedoch je nach Bedarf angepasst werden. In der Datei resources/views/auth/login.blade.php können Sie benutzerdefinierten HTML- und CSS-Code hinzufügen und ihn mit der Blade-Vorlagen-Engine von Laravel rendern.

  1. Anmelderoute definieren

Für die Anmeldefunktion müssen Sie eine POST-Route definieren, die das Anmeldeformular und die Logik für die Formularübermittlung enthält. Fügen Sie in der Datei „routes/web.php“ die folgende Route hinzu:

Route::post('/login', 'Auth\LoginController@login');
Nach dem Login kopieren

Diese Route verweist auf die Anmeldemethode des Auth-Controllers und verarbeitet die POST-Anfrage für das Anmeldeformular.

  1. Anmeldeanfragen bearbeiten

Im Auth-Controller müssen Sie die Anmeldemethode hinzufügen, um die Anmeldeanfrage zu bearbeiten. Diese Methode überprüft die vom Benutzer bereitgestellten Anmeldeinformationen und leitet den Benutzer bei Erfolg zur Startseite der Anwendung weiter. Hier ist der Beispielcode für die Anmeldemethode des Auth-Controllers:

public function login(Request $request)
{
   $this->validate($request, [
      'email'    => 'required|email|max:255',
      'password' => 'required|min:6',
   ]);

   $credentials = $request->only('email', 'password');

   if (Auth::attempt($credentials, $request->has('remember'))) {
      return redirect()->intended('/home');
   }

   return redirect()->back()
      ->withInput($request->only('email', 'remember'))
      ->withErrors([
         'email' => 'These credentials do not match our records.',
      ]);
}
Nach dem Login kopieren

Bei dieser Methode wird die Anfrage zunächst mithilfe der Validator-Klasse von Laravel authentifiziert. Nachdem die Verifizierung bestanden wurde, werden die E-Mail- und Passwortfelder aus der Anfrage abgerufen. Diese Anmeldeinformationen werden dann mithilfe der Versuchsmethode in der von Laravel bereitgestellten Auth-Klasse überprüft. Wenn die Überprüfung erfolgreich ist, wird der Benutzer mithilfe der Weiterleitungsmethode von Laravel zur Startseite der Anwendung weitergeleitet. Wenn die Validierung fehlschlägt, wird der Benutzer mit einer Fehlermeldung zurück zur Anmeldeseite weitergeleitet.

  1. Abmeldefunktion

In Laravel ist die Abmeldefunktion sehr einfach. Rufen Sie einfach die Abmeldemethode in der Auth-Klasse auf:

public function logout(Request $request)
{
   Auth::logout();

   $request->session()->invalidate();

   return redirect('/login');
}
Nach dem Login kopieren

Diese Methode ruft die Auth::logout-Methode auf, um den aktuellen Benutzer von der Anfrage zu trennen. und die Sitzung ungültig machen. Leiten Sie den Benutzer dann zur Anmeldeseite der Anwendung weiter.

Zusammenfassung

In Laravel 5.3 ist die Implementierung der Anmeldefunktion sehr einfach. Sie müssen lediglich einen Authentifizierungscontroller erstellen, das Benutzermodell definieren, die Anmeldeansicht schreiben, die Anmelderoute definieren und die Anmeldeanforderung verarbeiten. Mit den leistungsstarken Funktionen und der praktischen API von Laravel können Sie ganz einfach ein sicheres und effizientes Anmeldesystem implementieren.

Das obige ist der detaillierte Inhalt vonSo implementieren Sie die Anmeldefunktion in Laravel5.3 (Prozessfreigabe). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage