如何在Symfony2中使用ACL

如何在Symfony2中使用ACL,symfony,Symfony,我正在尝试为我的项目使用ACL,我以前没有这样做过。我只知道概念,它是什么以及为什么要使用它 我运行以下命令: $ php app/console init:acl 我的数据库里有五张表 我的问题是如何使用这些表,意味着如何将数据插入这些表中 我也跟着 但仍然没有掌握诀窍,请帮助我。您不应该直接使用表(但您已经知道),而应该使用ACL实体(但这很棘手) 一些人在堆上工作以简化这些操作。下面是一个关于如何使用它的示例: 您可以对对象或直接对类(上层)应用权限。您不应该直接使用表(但您已经知道)

我正在尝试为我的项目使用ACL,我以前没有这样做过。我只知道概念,它是什么以及为什么要使用它

我运行以下命令:

$ php app/console init:acl
我的数据库里有五张表

我的问题是如何使用这些表,意味着如何将数据插入这些表中

我也跟着


但仍然没有掌握诀窍,请帮助我。

您不应该直接使用表(但您已经知道),而应该使用ACL实体(但这很棘手)

一些人在堆上工作以简化这些操作。下面是一个关于如何使用它的示例:


您可以对对象或直接对类(上层)应用权限。

您不应该直接使用表(但您已经知道),而应该使用ACL实体(但这很棘手)

一些人在堆上工作以简化这些操作。下面是一个关于如何使用它的示例:


您可以对对象或直接对类(上层)应用权限。

此捆绑包的php类结构良好,可读性强。因此,请查看代码以启发自己,该捆绑包的php类结构良好,可读性强。因此,请仔细阅读代码,以激励自己
$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);