目前,我必须与许多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的表名的方法......
连连呢?我该怎么办?
答案 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表。