2012-10-16 87 views
2

目前我必須與許多CakePHP應用程序共享我的數據庫,並且這些表格前綴分別標識每個應用程序。多個應用程序可以共享相同的ACL表?

那麼,許多應用程序可以共享相同的ACL表嗎?或者,我可以更改表ACL的默認名稱並添加每個應用程序的前綴,例如。 app_aros,app_acos,app_aros_acos?

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

此代碼的工作,但我還沒有找到一種方法來改變模型權限的表名...

建議?我能做什麼?

回答

2

你必須更改應用這一行中所有的應用程序

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

至/配置/ core.php中:

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

,也可以添加在應用程序連接/配置/ 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表。

+0

謝謝,這對我有用! – hewerthomn

相關問題