【发布时间】:2014-08-25 19:47:36
【问题描述】:
我正在尝试创建一个视图,允许用户为 CakePHP 应用程序中的每个组设置 ACL 权限。但是,当尝试在视图中执行我的 ACL 检查时,ACL 检查每次都返回 false。
在我的控制器中,我有以下代码:
$this->set('acl', $this->Acl);
视图然后用户是这样的:
<input type="checkbox" <?php echo ($acl->check('Group::'.$group['Group']['id'], 'Accommodations', 'index') ? $checked : $notChecked); ?> name="<?php echo $group['Group']['name']; ?>_accommodations_index" value="1">List<br />
变量 $checked 和 $notChecked 设置如下:
$checked = " checked='checked' ";
$notChecked = "";
这样做的目的本质上是创建一个复选框网格,它们最初所在的位置(检查组是否有权访问它,如果组没有,则取消选中。
复选框打印在通过迭代每个存在的组生成的表中。
有什么建议吗?
【问题讨论】:
-
使用*,而不是用户(使用类似这样的东西:)
-
检查控制器中的所有权限并将结果数组传递给视图。你不应该在视图中有任何逻辑。
-
对于更正,请编辑问题,如果您将其添加为评论,有人可能会错过它(而且,这就是我们提供编辑功能的原因)