我正在尝试将 ACL 用于我的项目,我以前没有这样做过。我只知道概念,它是什么以及为什么要使用它。
我运行这个命令:
$ php app/console init:acl
我的数据库中有五个表。
我的问题是如何使用这些表,即如何将数据插入这些表中。
我也按照这里的步骤
仍然没有得到它的窍门,请帮帮我。
您不应该直接使用表(但您已经知道),而是使用 ACL 实体(但这很棘手)。
有些人研究bunbles来简化这些动作。这是有关如何使用它的示例:
https://github.com/Problematic/ProblematicAclManagerBundle
$comment = new Comment(); // create some entity
$aclManager = $this->get('problematic.acl_manager');
// Adds a permission no matter what other permissions existed before
$aclManager->addObjectPermission($comment, MaskBuilder::MASK_OWNER, $userEntity);
// Replaces all current permissions with this new one
$aclManager->setObjectPermission($comment, MaskBuilder::MASK_OWNER, $userEntity);
$aclManager->revokePermission($comment, MaskBUILDER::MASK_DELETE, $userEntity);
$aclManager->revokeAllObjectPermissions($comment, $userEntity);
您可以将权限应用于对象或直接应用于类(上层)