多个应用程序可以共享相同的ACL表吗?

时间:2012-10-16 14:36:50

标签: cakephp acl cakephp-2.2

目前,我必须与许多CakePHP应用程序共享我的数据库,并且这些表分别作为前缀来识别每个应用程序。

那么,许多应用程序可以共享相同的ACL表吗?

或者,我可以更改表ACL的默认名称并添加每个应用程序的前缀,例如。 app_aros,app_acos,app_aros_acos?

/* beforeFilter() @ AppController */
$this->Acl->Aro->useTable = 'app_aros';
$this->Acl->Aco->useTable = 'app_acos';

此代码有效,但我没有找到更改模型Permission的表名的方法......

连连呢?我该怎么办?

1 个答案:

答案 0 :(得分:2)

您已在所有应用中的app / Config / core.php中更改此行

Configure::write('Acl.database', 'default'); 

为:

Configure::write('Acl.database', 'your_acl_connection');

并在app / Config / database.php中添加连接

示例:

public $your_acl_connection = array(
        'datasource' => 'Database/Mysql',
        'persistent' => false,
        'host' => 'localhost',
        'login' => 'user',
        'password' => 'password',
        'database' => 'database_name',
        'prefix' => '',
        //'encoding' => 'utf8',
    );

您将拥有一个用于管理所有应用ACL的数据库。 在此DB中,您将创建所有ACL表。