我在新的网络应用中使用Acl
在我的应用程序中有四组用户
我已经给了$this->Auth->authorize = 'actions'
,以便它会自动检查操作权限。
我的问题是一些操作,如更改密码,编辑个人资料等...
对所有用户都是通用的。
但是现在我需要在acos_aros表中创建每个用户权限的每条记录
这太烦人了
1)有没有办法通过一个允许声明授予所有类型的用户权限?
2)有没有办法通过检查参数是否通过来允许和拒绝用户?
这意味着我需要授予将参数传递给特定用户的操作的权限。如果任何其他用户传递参数并尝试访问我需要拒绝它们的数据。
是否可以使用ACL完成行级访问控制?
任何帮助将不胜感激 提前谢谢:)
答案 0 :(得分:2)
如果您将$this->Auth->allow('action1','action2'...)
放入控制器的beforeFilter()
,则会授予所有用户访问权限。如果您需要仅限ACL的解决方案,则必须创建一个父级aco,您要允许的所有其他acos都是子级。然后授予您的用户对父级的权限。
如果您已经拥有ACL树结构,面包店的ACL插件可以派上用场。
为了构建ACL树结构,蛋糕手册末尾教程中的build_acl()
脚本非常有用。
允许为所有用户传递参数并检查他们在操作中的角色是不是一个选项?
答案 1 :(得分:0)
第二个问题的解决方案是here
但这不是使用ACL实现的:(