alexdpy / simple-acl-bundle
Simple Acl Bundle
Installs: 18
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Type:symfony-bundle
Requires
- php: >=5.3
- alexdpy/acl: ~0.3
- symfony/framework-bundle: ~2.3
Requires (Dev)
This package is not auto-updated.
Last update: 2024-12-21 19:26:37 UTC
README
The easiest way to dynamic Access Control List
This bundle is a wrapper of this ACL library. You want some dynamic ACL ? You think that the symfony/acl component is overkill and really hard to work on it ? You want an "easy to use" bundle ? This bundle is the answer !
Install
$ composer require alexdpy/simple-acl-bundle
Enable the bundle
app/AppKernel.php:
<?php // ... class AppKernel extends Kernel { public function registerBundles() { $bundles = array( // ... new AlexDpy\AclBundle\AlexDpyAclBundle(), ); // ... } // ... }
Update your database schema
@see https://github.com/AlexDpy/Acl#update-your-database-schema
Configuration
Create a DatabaseProvider service
Choose an existing DatabaseProvider or create your own, and make it as a service.
app/config/services.yml:
services: app.acl.database_provider: class: AlexDpy\Acl\Database\Provider\DoctrineDbalProvider arguments: - @doctrine.dbal.default_connection
Add a little configuration
app/config/config.yml:
alex_dpy_simple_acl: database_provider: app.acl.database_provider
Let's go !
All is OK.
<?php $acl = $this->container->get('alex_dpy_simple_acl.acl');
@see https://github.com/AlexDpy/Acl#usage for usage.
Use a CacheProvider
The ACL library uses DoctrineCache. The easiest way to create a CacheProvider service is to use DoctrineCacheBundle.
$ composer require doctrine/doctrine-cache-bundle
app/config/config.yml:
doctrine_cache: providers: acl_cache: type: apc namespace: simple_acl alex_dpy_simple_acl: database_provider: app.acl.database_provider cache_provider: doctrine_cache.providers.acl_cache
@see https://github.com/AlexDpy/Acl#cache
Schema options
app/config/config.yml:
alex_dpy_simple_acl: database_provider: app.acl.database_provider schema: permissions_table_name: acl_perm requester_column_length: 100 resource_column_length: 100
Custom MaskBuilder
app/config/config.yml:
alex_dpy_simple_acl: database_provider: app.acl.database_provider mask_builder_class: My\Custom\MaskBuilder
@see https://github.com/AlexDpy/Acl#the-maskbuilder
Usage
@see https://github.com/AlexDpy/Acl#usage