我正在尝试为我的项目使用ACL,我以前没有这样做过。我只知道概念,它是什么以及为什么要使用它。
我运行此命令:
$ php app/console init:acl
我的数据库中有五个表。
我的问题是如何使用这些表,意味着如何在这些表中插入数据。
我也跟着steps from here
仍然没有掌握它,请帮助我。
答案 0 :(得分:1)
你不应该直接使用表(但你已经知道),而是使用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);
您可以对对象或直接对类(上层)应用权限