


Implementierungsmethode zur Datenvalidierung und Benutzerauthentifizierung in laravle5.4
Dieser Artikel teilt Ihnen hauptsächlich die Implementierungsmethoden der Datenüberprüfung und Benutzerauthentifizierung von laravle5.4 mit und hofft, allen zu helfen.
1. Routen planen
//登入模块 Route::match(['get','post'],'/admin/login','Admin\ManagerController@login');
2. Controller generieren
php artisan make:controller Admin\ManagerController
3. Den Controllern entsprechende Methoden schreiben
public function Login(Request $request){ if($request->isMethod('get')){ //显示视图 return view('Admin.login'); }elseif($request->isMethod(''post)){ //数据处理 //1.数据验证(用户名长度是否合法) //2.用户认证(用户名和密码在数据库中是否存在) } }
Codeklasse
1. Verifizierungscode-Funktionspaket installieren
Funktionspaketadresse: Verifizierungscode-Funktionspaket
Befehl verwenden:
composer require mews/captcha
Anweisungen: Wenn ein Fehler auftritt , prüfen Sie, ob die PHP-Erweiterung php_fileinfo aktiviert ist
2. Registrieren Sie das Verifizierungscode-Funktionspaket in Laravel
2.1 Ändern Sie config/app.php und fügen Sie den folgenden Code im Provider-Element hinzu:
//集成验证码类 Mews\Captcha\CaptchaServiceProvider::class,
2.2 Aliase registrieren
Ändern Sie das Alias-Array:
Entfernen Sie den Alias der integrierten Bestätigungscode-Klasse, und verwenden Sie dann die Fassaden-Captcha-ähnliche Route
Hinzufügen der folgende Code:
'Captcha' => Mews\Captcha\Facades\Captcha::class,
Hinweis: Diese Verifizierungscodeklasse kann auch konfiguriert werden
①Führen Sie den Befehl aus:
php artisan vendor:publish
②Nach dem Ausführen des Befehls wird die Datei config /captcha.php wird generiert
③Konfiguration, wie zum Beispiel:
return [ 'default' => [ 'length' => 5, 'width' => 120, 'height' => 36, 'quality' => 90, ], // ... ];
3. Verifizierungscodeklasse generieren:
Es gibt zwei Methoden zum Generieren:
In der Ansicht: Captcha::create();
Im Controller: Captcha::src(); Sichtbar: Blog
3.1 Generieren
<img src="/static/imghw/default1.png" data-src="{{ captcha_src() }}" class="lazy" alt="Implementierungsmethode zur Datenvalidierung und Benutzerauthentifizierung in laravle5.4" > <a id="kanbuq" href="javascript:;">看不清,换一张</a> </p>
direkt in der Ansicht 4. Datenüberprüfung
4.1 Die erste Methode
public function login(Request $request) { if($request->isMethod('get')){ //显示数据 return view('Admin.login'); }elseif($request->isMethod('post')){ //数据处理 //1.数据验证(用户名长度,是否为空) /* *参数一:$request对象【接收的数据】 * 参数二:验证规则 * */ //第一种方式: $this->validate($request,[ 'username'=>'required|min:2|max:16', 'password'=>'required|between:4,20', 'captcha'=>'required|size:5|captcha',//这里的captcha规则是继承的验证码插件自带的 ]); echo "验证通过"; } }
Die zweite Methode: Validator-Fassadenüberprüfung verwenden
Zuerst müssen Sie die Klasse vorstellen:
use Validator; public function login(Request $request) { if($request->isMethod('get')){ //显示数据 return view('Admin.login'); }elseif($request->isMethod('post')){ //数据处理 //1.数据验证(用户名长度,是否为空) /* *参数一:$request对象【接收的数据】 * 参数二:验证规则 * */ //第二种方式: $validator = Validator::make($request->all(),[ 'username'=>'required|min:2|max:16', 'password'=>'required|between:4,20', 'captcha'=>'required|size:5|captcha', ]); if($validator->fails()){ return redirect('/admin/login')//验证失败后跳转地址 ->withErrors($validator)//将错误信息一次性保存到session中 ->withInput();//保留原来输入的值 } echo "验证通过"; } }
Fehlermeldung in der Vorlage anzeigen:
@if (count($errors) > 0) <p class="alert alert-danger"> <ul> @foreach ($errors->all() as $error) <li>{{ $error }}</li> @endforeach </ul> </p> @endif
**Hinweis: Weil die Funktion withErrors() die Fehlermeldung sofort speichert Wenn Sie möchten, dass der Wert im Eingabefeld nach dem Überprüfungsfehler in der Sitzung beibehalten wird, können Sie die Funktion old()
verwenden, z. B.:
<input id="username" name="username" value="{{ old('username') }}" type="text" placeholder="账户" class="input-text size-L">
5. Die Fehlermeldung wird auf Englisch angezeigt
Die von Laravel angezeigte Fehlermeldung ist standardmäßig auf Englisch. Wenn wir sie auf Chinesisch anzeigen möchten, müssen wir das Sprachpaket herunterladen. Adresse: Chinesisches Sprachpaket
5.1. Entpacken Sie das Sprachpaket in das Verzeichnis resources/lang
5.2. Ändern Sie das lokale Attribut von config/app.php Stellen Sie sicher, dass es mit dem Dateinamen im Lang-Verzeichnis übereinstimmt
'locale' => 'zh-CN'
5.3 Anpassen Captcha-Übersetzung hinzufügen
Da es standardmäßig keine chinesische Übersetzung für Captcha im Sprachpaket gibt, Wir können es anpassen, im Array attributes< in der Datei resources/lang/zh-CN/validation.php 🎜>Fügen Sie
'captcha' =>'验证码',
Beurteilen Sie, ob der Bestätigungscode korrekt ist
muss in den Überprüfungsregeln enthalten sein. Fügen Sie ein Captcha hinzu, eine Regel, die von einem Drittanbieter-Plug-in bereitgestellt wird Ändern Sie die Datei wie folgt:
//引入auth门面,用户认证 use Illuminate\Support\Facades\Auth;
public function login(Request $request) { if($request->isMethod('get')){ //显示数据 return view('Admin.login'); }elseif($request->isMethod('post')){ //数据处理 //1.数据验证(用户名长度,是否为空) /* *参数一:$request对象【接收的数据】 * 参数二:验证规则 * */ //第二种方式: $validator = Validator::make($request->all(),[ 'username'=>'required|min:2|max:16', 'password'=>'required|between:4,20', 'captcha'=>'required|size:5|captcha', ]); if($validator->fails()){ return redirect('/admin/login') ->withErrors($validator)//将错误信息一次性保存到session中 ->withInput();//保留原来输入的值 } //2.用户认证(用户名与密码在数据库中是否能查询到) $username =$request->input('username'); $password = $request->input('password'); if(Auth::guard('admin')->attempt(['username'=>$username,'password'=>$password])){ echo "认证成功"; //记录认证状态 }else{ echo "认证失败"; //跳转到登入页面 } } }
Ursache: SQL Abfrage ist it_users Tabelle
Lösung: Authentifizierungskonfiguration ändern
'guards' => [ 'web' => [ 'driver' => 'session', 'provider' => 'users', ], 'api' => [ 'driver' => 'token', 'provider' => 'users', ], 'admin' =>[ 'driver' => 'session', 'provider' => 'admin', //报错信息,我们加入这样一个数组,对应下面的provider的配置 ], ],
'providers' => [ 'users' => [ 'driver' => 'eloquent', 'model' => App\User::class, ], 'admin' => [ 'driver' => 'eloquent', 'model' => App\Manager::class,//建立的模型是与这里的Manager名称一致 ], // 'users' => [ // 'driver' => 'database', // 'table' => 'users', // ], ],
public function login(Request $request) { if($request->isMethod('get')){ //显示数据 return view('Admin.login'); }elseif($request->isMethod('post')){ //数据处理 //1.数据验证(用户名长度,是否为空) /* *参数一:$request对象【接收的数据】 * 参数二:验证规则 * */ //第一种方式: /* $this->validate($request,[ 'username'=>'required|min:2|max:16', 'password'=>'required|between:4,20', 'captcha'=>'required|size:5|captcha',//这里的captcha规则是继承的验证码插件自带的 ]);*/ //第二种方式: $validator = Validator::make($request->all(),[ 'username'=>'required|min:2|max:16', 'password'=>'required|between:4,20', 'captcha'=>'required|size:5|captcha', ]); if($validator->fails()){ return redirect('/admin/login') ->withErrors($validator)//将错误信息一次性保存到session中 ->withInput();//保留原来输入的值 } //2.用户认证(用户名与密码在数据库中是否能查询到) $username =$request->input('username'); $password = $request->input('password'); //使用自定义的guard【admin】 if(Auth::guard('admin')->attempt(['username'=>$username,'password'=>$password])){ return redirect('/admin/index'); //记录认证状态 }else{ echo "认证失败"; //跳转到登入页面 return redirect('/admin/login') ->withErrors(['loginError'=>'用户名或密码错误']) ->withInput(); } } }
php artisan make:model Manager
<?phpnamespace App;use Illuminate\Database\Eloquent\Model;class Manager extends Model{ //3.定义属性:代表软删除的字段 protected $data = ['deleted_at']; protected $table = "manager"; protected $primaryKey = "mg_id"; protected $fillable = ['username','password','mg_role_ids','mg_sex','mg_phone','mg_email','mg_remark']; }
Lösung:
Authentifizierungsschnittstelle (Vertrag) im Modell implementieren
Verwenden Sie das Schlüsselwort use innerhalb der Klasse: enthält Merkmale, implementiert den Vertrag
use \Illuminate\Auth\Authenticatable;
Hinweis: Wenn die Authentifizierung erfolgreich ist. Danach, wenn Sie zum Login zurückkehren Seite kann der Bestätigungscode nicht normal angezeigt werden. Löschen Sie die Sitzungsdatei unter storageframeworksessions
<?phpnamespace App;use Illuminate\Database\Eloquent\Model;class Manager extends Model implements \Illuminate\Contracts\Auth\Authenticatable{ //使用auth模块下的Authenticatable实现Contracts\Auththenticatable //查看这个类,发现这个类是trait 类型,就可以在类内使用use + 类名,从而可以使用这个类的方法 use \Illuminate\Auth\Authenticatable; //3.定义属性:代表软删除的字段 protected $data = ['deleted_at']; protected $table = "manager"; protected $primaryKey = "mg_id"; protected $fillable = ['username','password','mg_role_ids','mg_sex','mg_phone','mg_email','mg_remark']; }
Verwandte Empfehlungen:
php, um verschiedene zu erreichen Beispielanalyse der Datenvalidierung
PHP-Formulardatenvalidierungsklasse, PHP-Formularvalidierung_PHP-Tutorial
PHP-Code zur Implementierung der Formulardatenvalidierungsklasse_php Instanz
Das obige ist der detaillierte Inhalt vonImplementierungsmethode zur Datenvalidierung und Benutzerauthentifizierung in laravle5.4. 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

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

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



Mit der rasanten Entwicklung der sozialen Medien hat sich Xiaohongshu zu einer der beliebtesten sozialen Plattformen entwickelt. Benutzer können ein Xiaohongshu-Konto erstellen, um ihre persönliche Identität zu zeigen und mit anderen Benutzern zu kommunizieren und zu interagieren. Wenn Sie die Xiaohongshu-Nummer eines Benutzers finden müssen, können Sie diese einfachen Schritte befolgen. 1. Wie verwende ich das Xiaohongshu-Konto, um Benutzer zu finden? 1. Öffnen Sie die Xiaohongshu-App, klicken Sie auf die Schaltfläche „Entdecken“ in der unteren rechten Ecke und wählen Sie dann die Option „Notizen“. 2. Suchen Sie in der Notizenliste nach der Notiz, die von dem Benutzer gepostet wurde, den Sie suchen möchten. Klicken Sie hier, um die Seite mit den Notizdetails aufzurufen. 3. Klicken Sie auf der Seite mit den Notizdetails auf die Schaltfläche „Folgen“ unter dem Avatar des Benutzers, um zur persönlichen Homepage des Benutzers zu gelangen. 4. Klicken Sie in der oberen rechten Ecke der persönlichen Homepage des Benutzers auf die Schaltfläche mit den drei Punkten und wählen Sie „Persönliche Informationen“.

Das Dienstprogramm „Lokale Benutzer und Gruppen“ ist in die Computerverwaltung integriert und kann über die Konsole oder unabhängig davon aufgerufen werden. Einige Benutzer stellen jedoch fest, dass in Windows 11 lokale Benutzer und Gruppen fehlen. Für einige Personen, die Zugriff darauf haben, deutet die Meldung darauf hin, dass dieses Snap-In möglicherweise nicht mit dieser Version von Windows 10 funktioniert. Um Benutzerkonten für diesen Computer zu verwalten, verwenden Sie das Benutzerkonten-Tool in der Systemsteuerung. Das Problem wurde in früheren Versionen von Windows 10 gemeldet und wird normalerweise durch Probleme oder Versäumnisse auf Seiten des Benutzers verursacht. Warum fehlen lokale Benutzer und Gruppen in Windows 11? Sie verwenden die Windows Home Edition. Lokale Benutzer und Gruppen sind in der Professional Edition und höher verfügbar. Aktivität

In Ubuntu-Systemen ist der Root-Benutzer normalerweise deaktiviert. Um den Root-Benutzer zu aktivieren, können Sie mit dem Befehl passwd ein Passwort festlegen und sich dann mit dem Befehl su- als Root anmelden. Der Root-Benutzer ist ein Benutzer mit uneingeschränkten Systemadministratorrechten. Er verfügt über Berechtigungen zum Zugriff auf und zum Ändern von Dateien, zur Benutzerverwaltung, zum Installieren und Entfernen von Software sowie zum Ändern der Systemkonfiguration. Es gibt offensichtliche Unterschiede zwischen dem Root-Benutzer und normalen Benutzern. Der Root-Benutzer verfügt über die höchste Autorität und umfassendere Kontrollrechte im System. Der Root-Benutzer kann wichtige Systembefehle ausführen und Systemdateien bearbeiten, was normale Benutzer nicht können. In dieser Anleitung werde ich den Ubuntu-Root-Benutzer untersuchen, wie man sich als Root anmeldet und wie er sich von einem normalen Benutzer unterscheidet. Beachten

Auf einige Ordner kann aufgrund von Berechtigungen nicht immer zugegriffen werden. In der heutigen Anleitung zeigen wir Ihnen, wie Sie unter Windows 11 auf Benutzerordner auf Ihrer alten Festplatte zugreifen. Der Vorgang ist einfach, kann aber je nach Größe des Laufwerks eine Weile dauern, manchmal sogar Stunden. Seien Sie also besonders geduldig und befolgen Sie die Anweisungen in dieser Anleitung genau. Warum kann ich auf meiner alten Festplatte nicht auf meine Benutzerordner zugreifen? Benutzerordner gehören einem anderen Computer und können daher nicht geändert werden. Sie haben für diesen Ordner keine anderen Berechtigungen als den Besitz. Wie öffne ich Benutzerdateien auf einer alten Festplatte? 1. Übernehmen Sie den Besitz des Ordners und ändern Sie die Berechtigungen. Suchen Sie das alte Benutzerverzeichnis, klicken Sie mit der rechten Maustaste darauf und wählen Sie „Eigenschaften“. Navigieren Sie zu „An

Dem Ubuntu-System wurden viele Benutzer hinzugefügt. Ich möchte die Benutzer löschen, die nicht mehr verwendet werden. Werfen wir einen Blick auf das ausführliche Tutorial unten. 1. Öffnen Sie die Terminal-Befehlszeile und löschen Sie den angegebenen Benutzer mit dem Befehl „sudo“ (siehe Abbildung unten). 2. Achten Sie beim Löschen darauf, dass Sie sich im Administratorverzeichnis befinden Sie verfügen nicht über diese Berechtigung, wie in der folgenden Abbildung dargestellt. 3. Wie kann nach der Ausführung des Löschbefehls beurteilt werden, ob er tatsächlich gelöscht wurde? Als nächstes verwenden wir den Befehl cat, um die passwd-Datei zu öffnen, wie in der Abbildung unten gezeigt. 4. Wir sehen, dass sich die gelöschten Benutzerinformationen nicht mehr in der passwd-Datei befinden, was beweist, dass der Benutzer gelöscht wurde, wie in der folgenden Abbildung gezeigt 5. Dann geben wir die Home-Datei ein

sudo (Superuser-Ausführung) ist ein Schlüsselbefehl in Linux- und Unix-Systemen, der es normalen Benutzern ermöglicht, bestimmte Befehle mit Root-Rechten auszuführen. Die Funktion von sudo spiegelt sich hauptsächlich in den folgenden Aspekten wider: Bereitstellung von Berechtigungskontrolle: sudo erreicht eine strikte Kontrolle über Systemressourcen und sensible Vorgänge, indem es Benutzern erlaubt, vorübergehend Superuser-Berechtigungen zu erhalten. Normale Benutzer können über sudo bei Bedarf nur vorübergehende Berechtigungen erhalten und müssen sich nicht ständig als Superuser anmelden. Verbesserte Sicherheit: Durch die Verwendung von sudo können Sie die Verwendung des Root-Kontos bei Routinevorgängen vermeiden. Die Verwendung des Root-Kontos für alle Vorgänge kann zu unerwarteten Systemschäden führen, da für jeden fehlerhaften oder nachlässigen Vorgang die vollen Berechtigungen gewährt werden. Und

Microsoft hat damit begonnen, KB2 als optionales Update für Windows 503145511H22 oder höher der Öffentlichkeit zugänglich zu machen. Dies ist das erste Update, das die Funktionen von Windows 11 Moment 4 standardmäßig aktiviert, darunter Windows Copilot in unterstützten Bereichen, Vorschauunterstützung für Elemente im Startmenü, Aufheben der Gruppierung der Taskleiste und mehr. Darüber hinaus werden mehrere Fehler in Windows 11 behoben, darunter potenzielle Leistungsprobleme, die zu Speicherverlusten führten. Aber ironischerweise wird das optionale Update für September 2023 eine Katastrophe für Benutzer sein, die versuchen, das Update zu installieren, oder sogar für diejenigen, die es bereits installiert haben. Viele Benutzer werden dieses WLAN nicht installieren

Analyse des Speichermechanismus für Benutzerkennwörter im Linux-System Im Linux-System ist die Speicherung des Benutzerkennworts einer der sehr wichtigen Sicherheitsmechanismen. In diesem Artikel wird der Speichermechanismus von Benutzerkennwörtern in Linux-Systemen analysiert, einschließlich der verschlüsselten Speicherung von Kennwörtern, des Kennwortüberprüfungsprozesses und der sicheren Verwaltung von Benutzerkennwörtern. Gleichzeitig wird anhand konkreter Codebeispiele der tatsächliche Ablauf der Passwortspeicherung demonstriert. 1. Verschlüsselte Speicherung von Passwörtern In Linux-Systemen werden Benutzerpasswörter nicht im Klartext im System gespeichert, sondern verschlüsselt und gespeichert. L
