ldc-gen-game-web/app/Http/Middleware/IsAdmin.php

35 lines
837 B
PHP
Raw Normal View History

2020-10-29 15:40:23 +01:00
<?php
namespace App\Http\Middleware;
2023-11-23 17:31:28 +01:00
use App\Enums\Users\RoleEnum;
2020-10-29 15:40:23 +01:00
use Closure;
2023-08-21 10:22:07 +02:00
use Illuminate\Http\Request;
2020-10-29 15:40:23 +01:00
2023-08-24 12:59:51 +00:00
class IsAdmin
2020-10-29 15:40:23 +01:00
{
/**
* Handle an incoming request.
*
2022-08-11 10:03:16 +02:00
* @param \Illuminate\Http\Request $request
* @param \Closure $next
2020-10-29 15:40:23 +01:00
* @return mixed
*/
2023-08-21 10:22:07 +02:00
public function handle(Request $request, Closure $next)
2020-10-29 15:40:23 +01:00
{
2023-11-23 17:31:28 +01:00
/** @var \App\Models\User|null */
$user = auth('backend')->user();
if (!$user) {
abort(403, trans('Vous devez être authentifé'));
}
if ($user->role->value() > RoleEnum::admin->value()) {
return response()->redirectToRoute('bo.home')
->with('warning', trans('Vous n\'avez pas les droits nécessaires pour accéder à cet élément'));
2021-08-18 17:08:02 +02:00
}
2023-11-23 17:31:28 +01:00
return $next($request);
2020-10-29 15:40:23 +01:00
}
}