الملفات
Tabeley-v0.0a/app/Http/Middleware/RoleMiddleware.php
2026-02-16 01:57:33 +03:00

32 أسطر
713 B
PHP

<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Symfony\Component\HttpFoundation\Response;
class RoleMiddleware
{
public function handle(Request $request, Closure $next, ...$roles): Response
{
$user = $request->user();
if (! $user) {
return response()->json(['message' => 'Unauthenticated.'], 401);
}
if (empty($roles)) {
return response()->json(['message' => 'Forbidden.'], 403);
}
foreach ($roles as $role) {
if ($user->hasRole($role)) {
return $next($request);
}
}
return response()->json(['message' => 'Forbidden.'], 403);
}
}