AuthController.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?php
  2. namespace App\Http\Controllers;
  3. /*
  4. * 用户认证控制器
  5. */
  6. use Illuminate\Http\Request;
  7. use Illuminate\Routing\Controller as BaseController;
  8. use Illuminate\Support\Facades\Auth;
  9. use Illuminate\Support\Facades\Validator;
  10. class AuthController extends BaseController
  11. {
  12. public function getLogin() {
  13. return view('login');
  14. }
  15. public function postLogin(Request $request)
  16. {
  17. // 登录逻辑
  18. $credentials = $request->only(['username', 'password']);
  19. $remember = (bool) $request->input('remember', false);
  20. $validator = Validator::make($credentials, [
  21. 'username' => 'required',
  22. 'password' => 'required',
  23. ]);
  24. if ($validator->fails()) {
  25. return ['status'=>'fail','message'=>$validator->errors()];
  26. }
  27. if (Auth::guard('web')->attempt($credentials, false)) {
  28. // 登录成功
  29. return ['status'=>'success','message'=>'登录成功'];
  30. }
  31. // 登录失败
  32. return ['status'=>'fail','message'=>'用户名或密码错误'];
  33. }
  34. public function logout(Request $request)
  35. {
  36. // 登出逻辑
  37. Auth::guard('web')->logout();
  38. $request->session()->invalidate();
  39. return redirect('/');
  40. }
  41. }