Skip to content

Providing an easy way to work with the Symfony Security Acl.

Notifications You must be signed in to change notification settings

Cobrowser/AclBundle

 
 

Repository files navigation

ChiliLabs AclBundle

Bundle for Symfony2 providing easy access to the complex ACL subsystem

Latest Stable Version Total Downloads License Build Status Coverage Status SensioLabsInsight

Description

This Symfony 2 Bundle provides an easy api to the Security/ACL component and an eventlistener for automatic ACL cleanup upon removal of domain objects. The installation is simple and by default does not change any behavior of your application.

Without this bundle you normally do this (taken from the ACL docs):

// creating the ACL
$aclProvider = $container->get('security.acl.provider');
$objectIdentity = ObjectIdentity::fromDomainObject($domainObject);
$acl = $aclProvider->createAcl($objectIdentity);

// retrieving the security identity of the currently logged-in user
$tokenStorage = $container->get('security.token_storage');
$user = $tokenStorage->getToken()->getUser();
$securityIdentity = UserSecurityIdentity::fromAccount($user);

// grant owner access
$acl->insertObjectAce($securityIdentity, MaskBuilder::MASK_OWNER);
$aclProvider->updateAcl($acl);

With this bundle you can simplify it to:

$tokenStorage = $container->get('security.token_storage');
$user = $tokenStorage->getToken()->getUser();

$aclManager = $container->get('projecta_acl.manager');
$aclManager->manageObjectAces()
    ->grant($domainObject, MaskBuilder::MASK_OWNER, $user);

Documentation

The latest documentation can be found on aclbundle.chililabs.org.

Tests

To run the test suite, you need composer.

$ composer install
$ phpunit

License

ChiliLabs AclBundle is licensed under the MIT license.

About

Providing an easy way to work with the Symfony Security Acl.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 81.8%
  • Python 11.2%
  • Makefile 7.0%