middleware('guest')->except('logout'); } public function showLoginForm() { return view('auth.login'); } public function login(Request $request) { $credentials = $request->validate([ 'email' => 'string', 'password' => 'string', ]); if (Auth::attempt($credentials)) { $request->session()->regenerate(); $user = Auth::user(); if ($user->role === 'admin') { return redirect()->route('admin.dashboard'); } elseif ($user->role === 'juri') { return redirect()->route('juri.dashboard'); } elseif ($user->role === 'peserta') { return redirect()->route('user.dashboard'); } else { Auth::logout(); return redirect()->route('login')->withErrors(['email' => 'Role tidak dikenali.']); } } // if (Auth::attempt($credentials)) { // $request->session()->regenerate(); // if (Auth::check() && User::isAdmin()) { // Gunakan $user->isAdmin() // return redirect()->route('admin.dashboard'); // } else { // return redirect()->route('user.dashboard'); // } // } return back()->withErrors([ 'email' => 'The provided credentials do not match our records.', ])->onlyInput('email'); } public function logout(Request $request) { Auth::logout(); $request->session()->invalidate(); $request->session()->regenerateToken(); return redirect()->route('login'); } }