Directus 绕过ACL以使用itemsService运行更新

Directus 绕过ACL以使用itemsService运行更新,directus,Directus,我正在尝试运行更新集合项的公共终结点。我正在使用itemsService->update(),但我得到了一个禁止收集更新异常错误 { "error": { "code": 302, "message": "Updating item from \"products\" collection was denied", "class": "Directus\\Permissions\\Exception\\ForbiddenCollection

我正在尝试运行更新集合项的公共终结点。我正在使用itemsService->update(),但我得到了一个禁止收集更新异常错误

{
    "error": {
        "code": 302,
        "message": "Updating item from \"products\" collection was denied",
        "class": "Directus\\Permissions\\Exception\\ForbiddenCollectionUpdateException",
        "file": "/var/www/app/src/core/Directus/Permissions/Acl.php",
        "line": 1044
    }
}
我尝试使用以下代码段将用户设置为管理员:

    $this->_acl->setPublic(false);
    $this->_acl->setUserId(1);

    $this->_acl->setCollectionPermission('products', $this->_acl::PERMISSION_FULL);
当我转储$this->\u acl的值时,我可以看到添加了产品的全局许可,但当我尝试端点时,异常仍然存在

你知道我怎样才能做到这一点吗


TIA

您是否在端点中运行此功能

尝试使用以下语法(为我将ACL设置为null似乎绕过了ACL身份验证,但仍使用access_令牌进行Directus活动和修订):


文档:

您是否在端点中运行此操作

尝试使用以下语法(为我将ACL设置为null似乎绕过了ACL身份验证,但仍使用access_令牌进行Directus活动和修订):


文档:

我尝试过您以前提供的语法,但在专用窗口中尝试时ACL仍处于触发器状态。我尝试过您以前提供的语法,但在专用窗口中尝试时ACL仍处于触发器状态。
$container = \Directus\Application\Application::getInstance()->getContainer();
$dbConnection = $container->get('database');
$acl = $container->get('acl');

$tableGateway = Directus\Database\TableGatewayFactory::create('COLLECTION_NAME', [
    'connection' => $dbConnection,
    'acl' => null (false)
]);