Files
qztool/backend/app/Http/Middleware/EnsureAdmin.php
T

22 lines
569 B
PHP
Raw Normal View History

<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Symfony\Component\HttpFoundation\Response;
class EnsureAdmin
{
public function handle(Request $request, Closure $next, string ...$roles): Response
{
$user = $request->user();
$allowed = $roles !== [] ? $roles : ['operator', 'super_admin'];
if (! $user || ! in_array($user->role, $allowed, true)) {
return response()->json(['message' => '无权访问后台', 'code' => 'forbidden'], 403);
}
return $next($request);
}
}