如何在CakePHP 2.2.1中手动插入ACL表的条目?

时间:2012-09-04 05:37:13

标签: php cakephp cakephp-2.1

我知道我可以为所有用户的角色设置$this->Auth->allow('');操作,但我想在ACL表中添加操作并从ACL表中获取操作权限,我还有三个组用户1个管理员,2个用户,3 Guest和我想为所有用户手动添加表中名为“AutoCompleted”的操作的权限。表格如下:

acos,aros和aros_acos(通常的CakePHP表)

1 个答案:

答案 0 :(得分:1)

用户的角色使用aros_acos表,这就是结构:

aros_acos structure

要在此表中手动插入用户角色,首先需要了解一些信息:

  1. 动作的ID" AutoCompleted" (ACOS)
  2. 要分配此新权限(aros)的用户组的ID
  3. 如果您打开acos表格,您会看到:

    acos table data

    在此表的某处,您将找到" AutoCompleted" ID,在此示例中为35(参见上图)。

    现在,打开aros表,其中包含所有用户组信息:

    aros table data

    在此表的某处,您将找到用户组ID,在此示例中为15(参见上图)。

    好的,所以这就是我们所拥有的:

    1. 操作ID(aco_id):35
    2. 用户组ID(aro_id):15
    3. 使用此信息,您现在可以在aros_acos表中手动插入新权限:

      INSERT INTO  `sgc`.`aros_acos` (
          `id` ,
          `aro_id` ,
          `aco_id` ,
          `_create` ,
          `_read` ,
          `_update` ,
          `_delete`
      )
      VALUES (NULL ,  '15',  '35',  '1',  '1',  '1',  '1')
      

      _create_read_update_delete收到值1,因为我们希望允许用户执行此操作。