alexdpy/simple-acl-bundle

简单ACL包

0.1.0 2015-10-25 21:41 UTC

This package is not auto-updated.

Last update: 2024-09-14 17:48:18 UTC


README

动态访问控制列表的最简单方式

此包是该ACL库的包装器。您想要一些动态的ACL吗?您认为symfony/acl组件过于复杂且难以使用吗?您需要一个“易于使用”的包吗?这个包就是您的答案!

安装

$ composer require alexdpy/simple-acl-bundle

启用包

app/AppKernel.php:

<?php
// ...
class AppKernel extends Kernel
{
    public function registerBundles()
    {
        $bundles = array(
            // ...
            new AlexDpy\AclBundle\AlexDpyAclBundle(),
        );
        // ...
    }
    // ...
}

更新您的数据库模式

@see https://github.com/AlexDpy/Acl#update-your-database-schema

配置

创建一个DatabaseProvider服务

选择一个现有的DatabaseProvider或者创建您自己的,并将其作为服务。

app/config/services.yml:

services:
    app.acl.database_provider:
        class: AlexDpy\Acl\Database\Provider\DoctrineDbalProvider
        arguments:
            - @doctrine.dbal.default_connection

添加一些配置

app/config/config.yml:

alex_dpy_simple_acl:
    database_provider: app.acl.database_provider

开始吧!

一切正常。

<?php

$acl = $this->container->get('alex_dpy_simple_acl.acl');

@see https://github.com/AlexDpy/Acl#usage 了解使用方法。

使用CacheProvider

ACL库使用DoctrineCache。创建CacheProvider服务的最简单方法是使用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

模式选项

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

自定义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

使用方法

@see https://github.com/AlexDpy/Acl#usage

许可证

MIT