middleware('guest')->except('logout'); $this->middleware('auth')->only('logout'); } /** * The user has been authenticated. * * @param \Illuminate\Http\Request $request * @param mixed $user * @return mixed */ protected function authenticated(Request $request, $user) { // Cek jika email belum terverifikasi if (!$user->hasVerifiedEmail()) { Auth::logout(); $request->session()->invalidate(); $request->session()->regenerateToken(); throw ValidationException::withMessages([ 'email' => [__('Akun Anda belum diverifikasi. Silakan periksa email Anda untuk link verifikasi.')], ])->redirectTo(route('verification.notice')); } session()->flash('success', 'Login berhasil!'); if ($user->role === 'admin') { return redirect('/admin'); } return redirect()->intended($this->redirectTo); } /** * Log the user out of the application. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\RedirectResponse */ public function logout(Request $request) { Auth::logout(); $request->session()->invalidate(); $request->session()->regenerateToken(); session()->flash('error', 'Berhasil logout!'); return redirect('/'); } }