validate([ 'login' => 'required', 'password' => 'required|string|min:6', ]); $loginInput = $request->input('login'); if (filter_var($loginInput, FILTER_VALIDATE_EMAIL)) { $field = 'email'; } elseif (preg_match('/^EMP\d+$/i', $loginInput)) { $field = 'employee_id'; } else { $field = 'username'; } $credentials = [ $field => $loginInput, 'password' => $request->password, ]; // attempt login if (Auth::guard('admin')->attempt($credentials)) { $request->session()->regenerate(); $user = Auth::guard('admin')->user(); return redirect()->route('admin.dashboard')->with('success', 'Welcome back, ' . $user->name . '!'); } return back()->withErrors(['login' => 'Invalid login credentials.']); } public function logout(Request $request) { Auth::guard('admin')->logout(); $request->session()->invalidate(); $request->session()->regenerateToken(); return redirect()->route('admin.login')->with('success', 'Logged out successfully.'); } }