user2656780
user2656780

Reputation: 49

how to use ACL in Symfony2

I am trying to use ACL for my project, I have not done it before. I know only the concepts, what it is and why to use it.

I run this command :

$ php app/console init:acl

and I got five tables in my database .

My question is how to use these tables, means how data will be inserted in these tables .

I also have followed steps from here

and still not getting the hang of it , please help me out .

Upvotes: 1

Views: 634

Answers (1)

Chopchop
Chopchop

Reputation: 2949

You should'nt use table directly (but you already know), but ACL Entities instead (but it's tricky).

Some people worked on bunbles to simplify those actions. Here is an example on how to use it :

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);

You can apply permission on objects or directly on classes (upper level)

Upvotes: 1

Related Questions