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.
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
Dieser Befehl generiert Ansichts- und Controller-Dateien, die zum Anpassen der Authentifizierungslogik verwendet werden können.
Um die Authentifizierungsfunktion zu implementieren, ist ein entsprechendes Benutzermodell erforderlich. Kann mit dem Artisan-Befehl generiert werden:
php artisan make:model User -m
Dieser Befehl generiert eine Benutzermodelldatei und eine Datenbankmigrationsdatei. Es wird empfohlen, die Benutzerdatentabelle „Benutzer“ zu nennen.
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', ];
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']), ]); }
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.
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');
Diese Route verweist auf die Anmeldemethode des Auth-Controllers und verarbeitet die POST-Anfrage für das Anmeldeformular.
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.', ]); }
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.
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'); }
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!