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

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

建议?我能做什么?

4

1 回答 1

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 的数据库。在此数据库中,您创建所有 ACL 表。

于 2012-10-17T07:40:12.963 回答