Untitled
unknown
php
2 years ago
2.4 kB
5
Indexable
<?php namespace App\Http\Controllers\Auth; use Illuminate\Routing\Controller; use App\Providers\RouteServiceProvider; use Illuminate\Foundation\Auth\AuthenticatesUsers; use Illuminate\Support\Facades\Auth; use Illuminate\Http\Request; use App\Models\User; 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 = '/profile'; /** * Create a new controller instance. * * @return void */ public function __construct() { $this->middleware('guest')->except('logout'); } public function login(Request $request) { $this->validateLogin($request); if ($this->hasTooManyLoginAttempts($request)) { $this->fireLockoutEvent($request); return $this->sendLockoutResponse($request); } if($this->guard()->validate($this->credentials($request))) { $user = (new User())->get_user_by_email($request->email); if($user->email_verified_at && Auth::attempt(['email' => $request->email, 'password' => $request->password])) { $redirect = ($user->admin) ? '/crm-dashboard' : $this->redirectPath(); return response()->json([ 'auth' => auth()->check(), 'user' => $user, 'intended' => $redirect, ]); } else { $this->incrementLoginAttempts($request); return response()->json([ 'errors' => ['email' => 'This account is not activated.'] ], 401); } } else { // dd('ok'); $this->incrementLoginAttempts($request); return response()->json([ 'errors' => ['email' => 'Credentials do not match our database.'] ], 401); } } protected function authenticated(\Illuminate\Http\Request $request, $user) { if ($request->ajax()){ return response()->json([ 'auth' => auth()->check(), 'user' => $user, 'intended' => $this->redirectPath(), ]); } } }
Editor is loading...