AuthController.php 1.4 KB

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