LoginController.php 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <?php
  2. namespace App\Http\Controllers\Auth\Admin;
  3. use App\Http\Controllers\Controller;
  4. use Illuminate\Foundation\Auth\AuthenticatesUsers;
  5. use Illuminate\Http\Request;
  6. use Illuminate\Support\Facades\Auth;
  7. class LoginController extends Controller
  8. {
  9. /*
  10. |--------------------------------------------------------------------------
  11. | Login Controller
  12. |--------------------------------------------------------------------------
  13. |
  14. | This controller handles authenticating users for the application and
  15. | redirecting them to your home screen. The controller uses a trait
  16. | to conveniently provide its functionality to your applications.
  17. |
  18. */
  19. use AuthenticatesUsers;
  20. /**
  21. * Where to redirect users after login.
  22. *
  23. * @var string
  24. */
  25. protected $redirectTo = '/admin';
  26. /**
  27. * Create a new controller instance.
  28. *
  29. * @return void
  30. */
  31. public function __construct()
  32. {
  33. $this->middleware('guest:admin')->except('logout');
  34. }
  35. /**
  36. * Get the guard to be used during authentication.
  37. *
  38. * @return \Illuminate\Contracts\Auth\StatefulGuard
  39. */
  40. protected function guard()
  41. {
  42. return Auth::guard('admin');
  43. }
  44. /**
  45. * Get the guard to be used during authentication.
  46. *
  47. * @return \Illuminate\Contracts\Auth\StatefulGuard
  48. */
  49. public function showAdminLoginForm()
  50. {
  51. return view('admin.auth.login', ['guard' => 'admin']);
  52. }
  53. public function login(Request $request)
  54. {
  55. $this->validate($request, [
  56. 'email' => 'required|email',
  57. 'password' => 'required'
  58. ]);
  59. if (Auth::guard('admin')->attempt(['email' => $request->email, 'password' => $request->password], $request->get('remember'))) {
  60. return redirect()->intended('/admin');
  61. }
  62. return back()->withInput($request->only('email', 'remember'))->withErrors(['password' => 'Invalid account or password.']);
  63. }
  64. public function logout(Request $request)
  65. {
  66. $this->guard()->logout();
  67. $request->session()->forget($this->guard()->getName());
  68. $request->session()->regenerate();
  69. return redirect('/admin');
  70. }
  71. }