Files
Helpddesk/Modules/UserManagement/Http/Middleware/EnsureUserManagementAdmin.php
T
2026-08-26 08:01:49 +01:00

28 lines
660 B
PHP

<?php
declare(strict_types=1);
namespace Modules\UserManagement\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Symfony\Component\HttpFoundation\Response;
final class EnsureUserManagementAdmin
{
public function handle(Request $request, Closure $next): Response
{
$user = $request->user();
$allowed = $user !== null && (
(method_exists($user, 'isHelpdeskAdmin') && $user->isHelpdeskAdmin())
|| (method_exists($user, 'isAdmin') && $user->isAdmin())
|| (bool) ($user->helpdesk_admin ?? false)
);
abort_unless($allowed, 403);
return $next($request);
}
}