Laravel implementiert die Login-Registrierung
Laravel ist ein beliebtes PHP-Framework, das eine leistungsstarke Entwicklungsumgebung bietet, die die Erstellung von Webanwendungen erleichtert. Eines der wichtigen Features ist das Laravel-eigene Authentifizierungssystem, mit dem Sie die Benutzerauthentifizierung, einschließlich Anmeldung und Registrierung, schnell implementieren können. In diesem Artikel zeigen wir, wie Sie die Login-Registrierung mit Laravel implementieren.
Bereitstellungsumgebung
Bevor wir mit der Implementierung der Authentifizierung beginnen, müssen wir sicherstellen, dass die Laravel-Umgebung und die Datenbankverbindung konfiguriert sind. Wenn Sie Laravel noch nicht installiert haben, können Sie die Installationsanleitung in der offiziellen Dokumentation nachlesen. In der Laravel-Anwendung erstellen wir mithilfe des Artisan-Befehlszeilentools die erforderliche Datei- und Verzeichnisstruktur. In der Befehlszeile können wir mit dem folgenden Befehl eine neue Laravel-Anwendung erstellen:
composer create-project --prefer-dist laravel/laravel blog
Navigieren Sie nach der Erstellung zum Stammverzeichnis der Anwendung und führen Sie den folgenden Befehl aus zum Generieren der Anwendung Programmschlüssel:
php artisan key:generate
Route registrieren
In Laravel ist Routing die Brücke, die URI und entsprechende Controller-Methoden verbindet. Um unsere Authentifizierungsrouten zu registrieren, müssen wir die Datei „routes/web.php“ aktualisieren. In dieser Datei definieren wir die Routen für die Anwendung, einschließlich der Anmelde- und Registrierungsrouten.
Zuerst müssen wir die Route definieren, die die POST-Anfrage an /register sendet, und sie an die Methode register() von RegisterController binden. Dadurch wird ein Registrierungsformular angezeigt, in das der Benutzer seinen Benutzernamen und sein Passwort eingeben kann.
Route::post('/register', 'AuthRegisterController@register')->name('register');
Als nächstes müssen wir die Route definieren, die die POST-Anfrage an /login sendet, und sie an binden die login()-Methode von LoginController. Dadurch wird ein Anmeldeformular angezeigt, in das der Benutzer seinen Anmeldenamen und sein Passwort eingeben kann. Wenn der Benutzer keine gültigen Anmeldeinformationen zur Authentifizierung hat, leitet die Anwendung zum Anmeldeformular weiter.
Route::post('/login', 'AuthLoginController@login')->name('login');
Abschließend müssen wir alle geschützten Routen definieren. In Laravel können wir die Authentifizierungs-Middleware verwenden, um sicherzustellen, dass der Benutzer authentifiziert wurde. Diese Middleware leitet nicht authentifizierte Benutzer automatisch zur Route /login um.
Route::middleware(['auth'])->group(function () {
// your protected routes go here
});
Handhabung des Controllers
Wir haben die notwendigen Routen definiert und müssen sie nun im Controller verwalten. In Laravel sind Controller Klassen, die bestimmte HTTP-Anfragen verarbeiten, und Methoden im Controller geben HTTP-Antworten zurück. In der Anwendung müssen wir zwei Controller erstellen, um Registrierungs- und Anmeldeanfragen zu verarbeiten.
Erstellen Sie im Verzeichnis app/Http/Controllers/Auth zwei Dateien: LoginController.php und RegisterController.php. Diese beiden Dateien sind die Controller-Klassen, die mit Laravel geliefert werden. In diesen Controllern müssen wir die Standardmethoden von Laravel überschreiben, um benutzerdefinierte Funktionen für Anmelde- und Registrierungsanfragen bereitzustellen.
Login-Controller
Schauen wir uns zunächst den LoginController.php-Controller an. Dieser Controller enthält zwei Methoden: showLoginForm() und login(). Die Methode
showLoginForm() gibt die Anmeldeformularansicht (resources/views/auth/login.blade.php) zurück, die ein Formular enthält, in das der Benutzer seinen Anmeldenamen und sein Passwort eingeben kann. Diese Methode wird von Laravel bereitgestellt. In der Methode
public function showLoginForm()
{
return view('auth.login');
}
login() wird die Anmeldelogik tatsächlich implementiert. Diese Methode empfängt eine IlluminateHttpRequest-Instanz und validiert Benutzereingaben mithilfe der „validate()“-Methode der Instanz. Wenn die Formularvalidierung erfolgreich ist, sucht Laravel automatisch nach dem Benutzer mit dem angegebenen Login und Passwort und meldet ihn bei der Anwendung an.
public function login(Request $request)
{
$request->validate([ 'email' => 'required|string|email', 'password' => 'required|string', 'remember' => 'boolean' ]); $credentials = $request->only('email', 'password'); if (Auth::attempt($credentials, $request->remember)) { return redirect()->intended('dashboard'); } return redirect()->back()->withInput($request->only('email', 'remember'));
}
Beachten Sie, dass die try()-Methode basierend auf den angegebenen Anmeldeinformationen automatisch prüft, ob das Passwort korrekt ist. Wenn das Passwort falsch ist, wird false zurückgegeben.
Wenn sich der Benutzer erfolgreich authentifiziert hat und die zuvor angeforderte URL gespeichert ist (normalerweise eine URL, die von der Authentifizierungs-Middleware blockiert wird), können wir die Laravel-Hilfsfunktion intend() verwenden, um ihn zu dieser URL umzuleiten. Wenn keine URL gespeichert ist, leiten Sie zum Frontend-Dashboard (/dashboard) weiter.
Register-Controller
Als nächstes schauen wir uns den RegisterController.php-Controller an. Zusätzlich zu den Standardmethoden von Laravel müssen wir auch die Methode register() implementieren. Die Methode „register()“ ist der Methode „login()“ sehr ähnlich. Es empfängt eine IlluminateHttpRequest-Instanz und validiert Benutzereingaben mithilfe der „validate()“-Methode der Instanz. Wenn die Formularvalidierung erfolgreich ist, erstellt Laravel einen neuen Benutzer und speichert ihn in der Datenbank. Anschließend können wir das Standardverhalten von Laravel verwenden, um den Benutzer bei der Anwendung anzumelden.
öffentliches Funktionsregister (Request $request)
{$request->validate([ 'name' => 'required|string|max:255', 'email' => 'required|string|email|max:255|unique:users', 'password' => 'required|string|min:6|confirmed', ]); $user = User::create([ 'name' => $request->name, 'email' => $request->email, 'password' => Hash::make($request->password), ]); Auth::login($user); return redirect()->intended('dashboard');
}
Im Registrierungscontroller können wir die Hash-Hilfsfunktion verwenden, um das Passwort zu verschlüsseln. Wenn die Passwortüberprüfung erfolgreich ist, erstellen wir den neuen Benutzer und melden ihn in der Anwendung an.
Ansichtsebene
Da wir nun die notwendigen Routen und Controller definiert haben, müssen wir die Authentifizierungsansicht erstellen.在 resources/views/auth 目录中,我们可以创建 login.blade.php 和 register.blade.php 两个视图文件。这些视图包含登录和注册表单,使用了一些 Laravel 帮助程序,可以处理表单验证并显示错误消息。
登录视图
在 login.blade.php 文件中,我们可以使用 Laravel 的 Form 辅助函数创建登录表单。这个函数会自动为表单添加 CSRF 令牌,并为输入字段编写 HTML 标记。
注意,我们使用了 Blade 模板引擎的 @csrf 和 @if 语句来生成必要的 CSRF 令牌并显示验证错误。
注册视图
在 register.blade.php 文件中,我们可以使用 Laravel 的 Form 帮助器创建注册表单。这个函数自动为表单添加 CSRF 令牌,并为输入字段编写 HTML 标记。
注意,我们使用了 Blade 模板引擎的 @csrf 和 @if 语句来生成必要的 CSRF 令牌并显示验证错误消息。
结论
通过 Laravel 可以快速、方便、安全地实现 Web 应用程序的登录和注册身份验证功能,从而保护您的应用程序免受未授权的访问。在本文中,我们介绍了 Laravel 的身份验证系统并实现了注册和登录。现在,您可以使用这些基础知识构建更完整的用户身份验证系统,或将其集成到您的现有应用程序中。
Das obige ist der detaillierte Inhalt vonLaravel implementiert die Login-Registrierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

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

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

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

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)

Heiße Themen





Sowohl Django als auch Laravel sind Full-Stack-Frameworks. Django eignet sich für Python -Entwickler und komplexe Geschäftslogik, während Laravel für PHP -Entwickler und elegante Syntax geeignet ist. 1.Django basiert auf Python und folgt der "batteriebetriebenen" Philosophie, die für schnelle Entwicklung und hohe Parallelität geeignet ist. 2. Laravel basiert auf PHP, der die Entwicklererfahrung betont und für kleine bis mittlere Projekte geeignet ist.

Wie spielt Laravel eine Rolle in der Backend -Logik? Es vereinfacht und verbessert die Backend -Entwicklung durch Routing -Systeme, eloquentorm, Authentifizierung und Autorisierung, Ereignis und Zuhörer sowie Leistungsoptimierung. 1. Das Routing -System ermöglicht die Definition der URL -Struktur und die Anforderungsverarbeitungslogik. 2.Loquentorm vereinfacht die Datenbankinteraktion. 3. Das Authentifizierungs- und Autorisierungssystem ist für die Benutzerverwaltung geeignet. 4. Die Ereignis und der Hörer implementieren locker gekoppelte Codestruktur. 5. Leistungsoptimierung verbessert die Anwendungseffizienz durch Zwischenspeicherung und Warteschlange.

PHP und Laravel sind nicht direkt vergleichbar, da Laravel ein PHP-basierter Framework ist. 1.PHP ist für kleine Projekte oder schnelle Prototypen geeignet, da es einfach und direkt ist. 2. Laravel ist für große Projekte oder effiziente Entwicklung geeignet, da es umfangreiche Funktionen und Werkzeuge bietet, aber eine steile Lernkurve aufweist und möglicherweise nicht so gut ist wie reines PHP.

LaravelisabackendFrameworkBuiltonPhp, entworfene WebApplicationDevelopment.itfocuseSonserver-Sidelogic, DatabaSemanagement und Applicationsstruktur und CanBeintegratedWithFrontendTechnologies-ähnlich.

Laravel ist ein PHP -Framework zum einfachen Aufbau von Webanwendungen. Es bietet eine Reihe leistungsstarker Funktionen, darunter: Installation: Installieren Sie die Laravel CLI weltweit mit Komponisten und erstellen Sie Anwendungen im Projektverzeichnis. Routing: Definieren Sie die Beziehung zwischen der URL und dem Handler in Routen/Web.php. Ansicht: Erstellen Sie eine Ansicht in Ressourcen/Ansichten, um die Benutzeroberfläche der Anwendung zu rendern. Datenbankintegration: Bietet eine Out-of-the-Box-Integration in Datenbanken wie MySQL und verwendet Migration, um Tabellen zu erstellen und zu ändern. Modell und Controller: Das Modell repräsentiert die Datenbankentität und die Controller -Prozesse HTTP -Anforderungen.

Das Laravel -Entwicklungsprojekt wurde aufgrund seiner Flexibilität und Kraft ausgewählt, um den Bedürfnissen unterschiedlicher Größen und Komplexität zu entsprechen. Laravel bietet Routing-System, eloquentorm, Artisan Command Line und andere Funktionen und unterstützt die Entwicklung von einfachen Blogs bis hin zu komplexen Systemen auf Unternehmensebene.

Möchten Sie das Laravel -Rahmen lernen, aber unter keinen Ressourcen oder dem wirtschaftlichen Druck leiden? Dieser Artikel bietet Ihnen ein kostenloses Lernen von Laravel und lehrt Sie, wie Sie Ressourcen wie Online -Plattformen, Dokumente und Community -Foren verwenden, um eine solide Grundlage für Ihre PHP -Entwicklungsreise zu schaffen.

Die Popularität von Laravel umfasst seinen vereinfachten Entwicklungsprozess, eine angenehme Entwicklungsumgebung und umfangreiche Merkmale. 1) Es absorbiert die Designphilosophie von RubyonRails und kombiniert die Flexibilität von PHP. 2) Bereitstellung von Werkzeugen wie eloquentorm, Blade Template Engine usw. zur Verbesserung der Entwicklungseffizienz. 3) Sein MVC -Architektur- und Abhängigkeitsinjektionsmechanismus macht den Code modularer und prüfbarer. 4) Bietet leistungsstarke Debugging -Tools und Leistungsoptimierungsmethoden wie Caching -Systeme und Best Practices.
