【问题标题】:Multiple applications can share the same ACL tables?多个应用程序可以共享同一个 ACL 表吗?
【发布时间】:2012-10-16 14:36:49
【问题描述】:

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

那么,多个应用程序可以共享同一个 ACL 表吗?

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

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

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

建议?我能做什么?

【问题讨论】:

    标签: cakephp acl cakephp-2.2


    【解决方案1】:

    您已在所有应用程序的 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 表。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多