1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
| <?php
namespace App\Http\Controllers\Auth;
use App\Clients;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Session;
use Illuminate\Support\Str;
class ClientAuthController extends Controller
{
use AuthenticatesUsers;
protected $guardName = 'client';
protected $maxAttempts = 3;
protected $decayMinutes = 2;
protected $loginRoute;
public function __construct(){
$this->middleware('guest:client')->except('postLogout');
$this->loginRoute = route('client.loginClient');
}
public function getLogin(){
return view('client.loginClient');
}
public function postLogout(){
Auth::guard($this->guardName)->logout();
Session::flush();
return redirect()->guest($this->loginRoute);
}
public function postLogin(Request $request){
$this->validate($request, [
'numeroCompte' => 'required|string'
]);
if ($this->hasTooManyLoginAttempts($request)){
$this->fireLockoutEvent($request);
$this->sendLockoutResponse($request);
}
$credential =[
'numeroCompte' => $request->input('numeroCompte')
];
if (Auth::guard($this->guardName)->attempt($credential)){
$request->session()->regenerate();
$this->clearLoginAttempts($request);
return redirect()->intended();
} else{
$this->incrementLoginAttempts($request);
return redirect()->back()
->withInput()
->withErrors(["Numéro de compte incorrect!"]);
}
}
} |