AuthController.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  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. //去除空格
  28. $credentials = array_map('trim', $credentials);
  29. if (Auth::guard('web')->attempt($credentials, false)) {
  30. // $request->session()->regenerate();
  31. // 登录成功
  32. return ['status'=>'success','message'=>'登录成功'];
  33. }
  34. // 登录失败
  35. return ['status'=>'fail','message'=>'用户名或密码错误'];
  36. }
  37. public function logout(Request $request)
  38. {
  39. // 登出逻辑
  40. Auth::guard('web')->logout();
  41. $request->session()->invalidate();
  42. return redirect('/');
  43. }
  44. }