52 lignes
1,4 Kio
PHP
52 lignes
1,4 Kio
PHP
<?php
|
|
|
|
namespace App\Http\Middleware;
|
|
|
|
use Closure;
|
|
// use Illuminate\Http\Response;
|
|
use Illuminate\Support\Facades\DB;
|
|
|
|
use App\Http\Controllers\Core\Users;
|
|
use App\Http\Utility\debug;
|
|
|
|
class CheckDaUser {
|
|
public function __construct(){}
|
|
|
|
// gestion de la requête
|
|
public function handle($request, Closure $next){
|
|
$user=false;
|
|
|
|
// Si l'utilisateur tente de se connecter
|
|
if ($request->header('PHP_AUTH_USER', null) && $request->header('PHP_AUTH_PW', null)){
|
|
$login = $request->header('PHP_AUTH_USER');
|
|
$password = $request->header('PHP_AUTH_PW');
|
|
$user=Users::checkForUserExists($login,$password);
|
|
}
|
|
|
|
// retour pour utilisateur qui essaye de se connecter avec des mauvais/inexistant accès
|
|
if($request->header('PHP_AUTH_USER', null) && $request->header('PHP_AUTH_PW', null) && $user===false){
|
|
return response()->json([
|
|
'status' => 0,
|
|
'msg' => 'Utilisateur inexistant'
|
|
]);
|
|
}
|
|
|
|
$userId=0; // utilisateur non connecté
|
|
$isAdmin=false;
|
|
$isAuth=false;
|
|
|
|
if($user){
|
|
$userId=$user['id'];
|
|
$isAdmin=intval($user['isadmin'])?true:false;
|
|
$isAuth=true;
|
|
}
|
|
|
|
session()->put('user', [
|
|
'id'=>$userId,
|
|
'isAdmin'=>$isAdmin,
|
|
'isAuth'=>$isAuth,
|
|
]);
|
|
|
|
return $next($request);
|
|
}
|
|
}
|