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.
Aber ich kann mich anscheinend nicht auf der Dashboard-Seite authentifizieren.
Ich verwende eine if-Anweisung if(Auth::check())
in der Dashboard-Funktion, um den Benutzer in der Datenbank zu authentifizieren.
Aber das funktioniert bei mir nicht, weil ich ständig die Fehlermeldung bekomme, dass ich zur Anmeldeseite zurückgeleitet werde (Dies passiert nur, wenn ich einen neuen Benutzer in der Datenbank registriere), aber Immer wenn ich versuche, mich anzumelden, erhalte ich eine Erfolgsmeldung von der Anmeldefunktion (Code siehe weiter unten), während ich mich noch auf der Anmeldeseite befinde.
AuthController (Dashboard):
öffentliche Funktion Dashboard(): Ansicht { if(Auth::check()) { return view('auth.dashboard'); } return view('auth.login')->with('error', 'Sie dürfen nicht darauf zugreifen'); }
AuthController (Anmeldung):
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'); }
web.php
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');
Ich habe noch keine Lösung gefunden. Wenn mir also jemand helfen kann, wäre ich dankbar.
hii,您的注销功能受到中间件的保护,您还需要添加仪表板路由中间件,您可以对需要身份验证中间件的路由进行分组。
您的路线
您的控制器:
您的登录刀片
您的注册页面
我想这会解决您的所有疑问