check()) { // Redirect admins to their dashboard return route('admin.dashboard'); } if (Auth::guard('web')->check()) { // Redirect regular users to their home or default page return route('trx_order_elevation.index'); } // Default redirection if no condition matches return '/admin/login'; } /** * login admin * * @param Request $request * @return void */ public function login(Request $request) { // Validate Login Data $request->validate([ 'email' => 'required|max:50', 'password' => 'required', ]); // Determine the intended redirect URL $redirectTo = session()->pull('url.intended', $this->redirectTo()); session()->put('redirect_url', $redirectTo); // Attempt to login if (Auth::guard('admin')->attempt(['email' => $request->email, 'password' => $request->password], $request->remember)) { session()->flash('success', 'Successfully Logged in!'); Session::put('current_guard', 'admin'); AuditTrailHelper::AuthAttempt('Login', 'User (' . $request->email . ') Logged in to the System'); return redirect($redirectTo); } else if (Auth::guard('admin')->attempt(['username' => $request->email, 'password' => $request->password], $request->remember)) { session()->flash('success', 'Successfully Logged in!'); Session::put('current_guard', 'admin'); AuditTrailHelper::AuthAttempt('Login', 'User (' . $request->email . ') Logged in to the System'); return redirect($redirectTo); } else if (Auth::guard('web')->attempt(['username' => $request->email, 'password' => $request->password], $request->remember)) { session()->flash('success', 'Successfully Logged in!'); Session::put('current_guard', 'web'); AuditTrailHelper::AuthAttempt('Login', 'User (' . $request->email . ') Logged in to the System'); return redirect($redirectTo); } else if (Auth::guard('web')->attempt(['email' => $request->email, 'password' => $request->password], $request->remember)) { session()->flash('success', 'Successfully Logged in!'); Session::put('current_guard', 'web'); AuditTrailHelper::AuthAttempt('Login', 'User (' . $request->email . ') Logged in to the System'); return redirect($redirectTo); } // Login failed session()->flash('error', 'Invalid email or password.'); return back(); } /** * logout admin guard * * @return void */ public function logout() { $user = Auth::guard('admin')->user(); if (!$user) { Auth::guard('admin')->logout(); return redirect()->route('admin.login'); } // Log activity AuditTrailHelper::AuthAttempt('Logout', 'User (' . $user->username . ') Logged out from the System'); try { // Logout from admin guard Auth::guard('admin')->logout(); } catch (Exception $e) { // Fallback to web guard if admin logout fails Auth::guard('web')->logout(); } // Redirect to admin login return redirect()->route('admin.login'); } }