123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- <?php
- namespace App\Http\Controllers\Auth;
- use App\Shop\Admins\Requests\LoginRequest;
- use App\Http\Controllers\Controller;
- use Illuminate\Foundation\Auth\AuthenticatesUsers;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\Cookie;
- class LoginController extends Controller
- {
- /*
- |--------------------------------------------------------------------------
- | Login Controller
- |--------------------------------------------------------------------------
- |
- | This controller handles authenticating users for the application and
- | redirecting them to your home screen. The controller uses a trait
- | to conveniently provide its functionality to your applications.
- |
- */
- use AuthenticatesUsers;
- /**
- * Where to redirect users after login.
- *
- * @var string
- */
- protected $redirectTo = '/accounts?tab=profile';
- /**
- * Create a new controller instance.
- *
- */
- public function __construct()
- {
- $this->middleware('guest')->except('logout');
- }
- public function showLoginForm()
- {
- return view('auth.login');
- }
- /**
- * Login the admin
- *
- * @param LoginRequest $request
- *
- * @return \Illuminate\Http\RedirectResponse|\Illuminate\Http\Response
- * @throws \Illuminate\Validation\ValidationException
- */
- public function login(LoginRequest $request)
- {
- $this->validateLogin($request);
- if ($this->hasTooManyLoginAttempts($request)) {
- $this->fireLockoutEvent($request);
- return $this->sendLockoutResponse($request);
- }
- $credentials = $request->only('email', 'password');
- if ($token = auth()->login($credentials)) {
- $this->clearLoginAttempts($request);
- return redirect()->route('accounts')->cookie('jwt_token', $token);
- }
- $this->incrementLoginAttempts($request);
- return $this->sendFailedLoginResponse($request);
- }
- /**
- * Log the user out of the application.
- *
- * @param \Illuminate\Http\Request $request
- * @return \Illuminate\Http\Response
- */
- public function logout(Request $request)
- {
- $this->guard()->logout();
- // 清除cookie
- Cookie::queue(Cookie::forget('jwt_token'));
- return $this->loggedOut($request) ?: redirect('/');
- }
- }
|