Untitled
unknown
php
3 years ago
2.4 kB
14
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...