2010-08-12 57 views
1

我在新的Web应用程序中使用Acl。
在我的应用程序中有四组用户。
我已经给出$this->Auth->authorize = 'actions',以便它会自动检查操作的权限。Acl-cakePHP中的组的常见许可

我的问题是一些操作,如更改密码,编辑配置文件等...
是所有用户共同的。
但现在我需要创建每个用户在acos_aros表中的权限的每个记录。
这太烦人了

1)有没有什么办法让所有类型的用户拥有一个允许语句的权限?
2)有没有什么办法可以通过检查参数是否通过来允许和拒绝用户?
这意味着我需要给予权限传递参数给特定用户的操作。如果有其他用户传递参数并尝试访问我需要拒绝的数据。

是否可以使用ACL完成行级访问控制?

任何帮助将不胜感激。
Thankz提前:)

回答

0

对第二个问题的解决办法是here
但这是使用ACL :(

+0

RSK, ,因为它也使用非ACL组件,所以删除'我期望只根据ACL的答案'。被指示。亲切的问候 – benjamin 2010-08-13 17:59:39

+0

@benjamin完成:D – RSK 2010-08-14 07:01:55

2
  1. 如果你把一个$this->Auth->allow('action1','action2'...)到您的控制器的beforeFilter(),授予访问权限给所有用户。如果您需要仅限ACL的解决方案,则必须创建一个父级aco,您希望允许的所有其他acos都是子级aco。然后授予您的用户对父级的权利。 如果您已经拥有ACL树结构,面包店的ACL插件可以派上用场。 为了构建ACL树结构,本教程末尾的build_acl()脚本非常有用。

  2. 允许为所有用户传递参数并检查其在操作中的角色不是一种选择吗?

+0

thankz您的回复没有实现,但如果我给这个'$这个 - > Auth->允许(” action1','action2'...)'这些动作也可供访客使用,我需要确保用户已经登录:) – RSK 2010-08-13 04:47:09

+0

好的。我可以建议将“为所有类型的用户授予权限”的行更改为“...给所有经过身份验证的用户”。 亲切的问候。 – benjamin 2010-08-13 17:10:52