Die benutzerdefinierte Anmeldung/Registrierung von Laravel 10 führt nicht zur Dashboard-Seite
P粉162773626
2023-09-05 14:04:13
<p>Ich versuche, meine eigene benutzerdefinierte Anmeldung/Registrierung für Laravel 10 zu erstellen, da ich das breez-Paket nicht verwenden möchte, sondern lernen möchte, wie ich die Anmeldung/Registrierung selbst durchführe. </p>
<p>Aber ich kann mich anscheinend nicht auf der Dashboard-Seite authentifizieren. </p>
<p>Ich verwende eine if-Anweisung <code>if(Auth::check())</code> in der Dashboard-Funktion, um den Benutzer in der Datenbank zu authentifizieren. </p>
<p>Aber das funktioniert bei mir nicht, weil ich ständig die Fehlermeldung bekomme, dass ich zur Anmeldeseite zurückgeleitet werde (<strong>Dies passiert nur, wenn ich einen neuen Benutzer in der Datenbank registriere</strong>), aber Immer wenn ich versuche, mich anzumelden, erhalte ich eine Erfolgsmeldung von der Anmeldefunktion (<strong>Code siehe weiter unten</strong>), während ich mich noch auf der Anmeldeseite befinde. </p>
<p><strong>AuthController (Dashboard): </strong></p>
<pre class="brush:php;toolbar:false;">öffentliche Funktion Dashboard(): Ansicht
{
if(Auth::check()) {
return view('auth.dashboard');
}
return view('auth.login')->with('error', 'Sie dürfen nicht darauf zugreifen');
}</pre>
<p><strong>AuthController (Anmeldung): </strong></p>
<pre class="brush:php;toolbar:false;">public function loginPost(Request $request): RedirectResponse
{
$request->validate([
'email' => 'erforderlich',
'Passwort' => 'erforderlich'
]);
$credentials = $request->only('email', 'password');
if(Auth::attempt($credentials)) {
$request->session()->regenerate();
return weitergeleitet()->intended(route('dashboard'))->with('success', 'Sie haben sich erfolgreich angemeldet');
}
return weitergeleitet(route('login'))->with('error', 'Oppes! Sie haben ungültige Anmeldeinformationen eingegeben');
}</pre>
<p><strong>web.php</strong></p>
<pre class="brush:php;toolbar:false;">Route::get('/register', [AuthController::class, 'register'])->name('register');
Route::post('/register', [AuthController::class, 'registerPost'])->name('register.post');
Route::get('/login', [AuthController::class, 'login'])->name('login');
Route::post('/login', [AuthController::class, 'loginPost'])->name('login.post');
Route::get('/dashboard', [AuthController::class, 'dashboard'])->name('dashboard');
Route::post('/logout', [AuthController::class, 'logout'])->middleware('auth')->name('logout');</pre>
<p>Ich habe noch keine Lösung gefunden. Wenn mir also jemand helfen kann, wäre ich dankbar. </p>
hii,您的注销功能受到中间件的保护,您还需要添加仪表板路由中间件,您可以对需要身份验证中间件的路由进行分组。
您的路线
您的控制器:
您的登录刀片
您的注册页面
我想这会解决您的所有疑问