user(); if (! $user) { abort(403, 'Unauthorized.'); } // Admin always has all permissions if ($user->isAdmin()) { return $next($request); } // Gabungkan permission dari SEMUA role user (multi-role) $userPermissions = $user->allPermissions(); foreach ($permissions as $permission) { if (in_array($permission, $userPermissions)) { return $next($request); } } abort(403, 'Anda tidak memiliki izin untuk mengakses halaman ini.'); } }