Probleme bei der Authentifizierung von Benutzern und der Anzeige von Verifizierungsmeldungen in Laravel
<p>Ich habe Probleme bei der Authentifizierung von Benutzern und der Anzeige von Validierungsmeldungen in Laravel. Beim Versuch, sich anzumelden, wird der Benutzer nicht korrekt authentifiziert und die Authentifizierungsfehlermeldung wird nicht angezeigt. </p>
<p>Ich habe mich zur Authentifizierung und Verifizierung an die offizielle Laravel-Dokumentation gehalten, aber selbst mit Hilfe künstlicher Intelligenz habe ich nicht die erwarteten Ergebnisse erzielt.以下是我的一些代码片段:</p>
<pre class="brush:php;toolbar:false;">public function store(Request $request)
{
$request->validate([
'email' => 'erforderlich|E-Mail',
'Passwort' => 'erforderlich',
]);
$credentials = $request->only('email', 'password');
if (auth()->attempt($credentials)) {
$user = auth()->user();
$request->session()->put('user', $user);
Return Redirect()->route('home');
}
throw ValidationException::withMessages([
'email' => 'Ungültige E-Mail oder Passwort.',
]);
}</pre>
<p>这是HTML代码:</p>
<pre class="brush:php;toolbar:false;"><!DOCTYPE html>
<html lang="en">
<Kopf>
<meta charset="UTF-8">
<title>Anmelden</title>
</head>
<Körper>
<h1>Anmelden</h1>
<form action="/login" method="post">
@csrf
<Eingabetyp="E-Mail" name="email" placeholder="E-Mail">
<Eingabetyp="Passwort" name="Passwort" placeholder="Passwort">
<input type="submit" value="Anmelden">
</form>
</body>
</html></pre>
<p>最后,是路由:</p>
<pre class="brush:php;toolbar:false;"><?php
verwenden Sie IlluminateSupportFacadesRoute;
verwenden Sie AppHttpControllersUserController;
verwenden Sie AppHttpControllersHomeController;
verwenden Sie AppHttpControllersLoginController;
Route::get('/users', [UserController::class, 'index'])->name('users.index');
Route::get('/users/create', [UserController::class, 'create']);
Route::post('/users', [UserController::class, 'store']);
Route::get('/users/{user}', [UserController::class, 'show']);
Route::get('/users/{user}/edit', [UserController::class, 'edit']);
Route::put('/users/{user}', [UserController::class, 'update']);
Route::delete('/users/{user}', [UserController::class, 'destroy'])->name('users.destroy');
Route::get('/home', [HomeController::class, 'index'])->name('home');
Route::get('/login', [LoginController::class, 'index'])->name('login');
Route::post('/login', [LoginController::class, 'store']);
?></pre>
<p>确地对用户进行身份验证.Ich verwende auch <code>$request->validate([...])</code> in der Methode <code>store()</code> Validierungsregeln werden festgelegt. Ich gehe davon aus, dass Laravel in der Ansicht <code>login.blade.php</code> eine Fehlermeldung anzeigt, wenn die E-Mail- und Passwortfelder nicht korrekt ausgefüllt sind. </p>
<p>Wenn ich das Anmeldeformular mit den richtigen Anmeldeinformationen absende, kann Laravel den Benutzer nicht korrekt authentifizieren und leitet zurück zur Anmeldeseite, ohne dass eine Fehlermeldung angezeigt wird. Wenn ich das Formular mit leeren Feldern oder ungültigen Daten abschicke, wird die entsprechende Fehlermeldung auch nicht in der Ansicht angezeigt. Stattdessen leitet das Formular ohne Rückmeldung zurück zur Anmeldeseite. </p>
<p>Ich glaube, dass Laravel den Benutzer aufgrund fehlender oder falscher Konfiguration nicht ordnungsgemäß authentifiziert und die Bestätigungsmeldung nicht anzeigt. </p>
<p>Ich wäre sehr dankbar für jede Hilfe, die Sie bei der Lösung dieses Problems leisten können. </p>