【问题标题】:How to manually insert ACL table's entry in CakePHP 2.2.1?如何在 CakePHP 2.2.1 中手动插入 ACL 表的条目?
【发布时间】:2012-09-04 05:37:13
【问题描述】:

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

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

【问题讨论】:

    标签: php cakephp cakephp-2.1


    【解决方案1】:

    用户的角色使用aros_acos表,结构如下:

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

    1. “自动完成”操作的 ID (acos)
    2. 您要分配此新权限的用户组的 ID (aros)

    如果您打开 acos 表,您将看到:

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

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

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

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

    1. 操作 ID (aco_id):35
    2. 用户组 ID (aro_id):15

    有了这些信息,您现在可以在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,因为我们希望允许用户执行此操作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-03
      • 2012-04-12
      相关资源
      最近更新 更多