check()) { return redirect()->route('user.home'); } return view('user.login'); } public function home() { return view('user.shell'); } public function login(Request $request) { $credentials = $request->validate([ 'username' => 'required|string', 'password' => 'required|string', ]); /** @var User|null $user */ $user = User::query()->where('username', $credentials['username'])->first(); if ($user && ! $user->isEnabled()) { return back()->withErrors(['username' => '账号已禁用'])->onlyInput('username'); } if (Auth::guard('agent')->attempt( ['username' => $credentials['username'], 'password' => $credentials['password']], $request->boolean('remember') )) { $request->session()->regenerate(); return redirect()->intended(route('user.home')); } return back()->withErrors(['username' => '用户名或密码错误'])->onlyInput('username'); } public function logout(Request $request) { Auth::guard('agent')->logout(); $request->session()->invalidate(); $request->session()->regenerateToken(); return redirect()->route('user.login'); } }