CakePHP acl列表

CakePHP acl列表,php,cakephp,acl,Php,Cakephp,Acl,我有一个小问题,我拒绝访问我的页面,但用户仍然能够访问它 $this->Acl->allow('contributors','Users'); $this->Acl->deny('contributors','Users/add'); $this->Acl->deny('contributors','Users/edit'); $this->Acl->deny('contributors','Users/delete

我有一个小问题,我拒绝访问我的页面,但用户仍然能够访问它

    $this->Acl->allow('contributors','Users');
    $this->Acl->deny('contributors','Users/add');
    $this->Acl->deny('contributors','Users/edit');
    $this->Acl->deny('contributors','Users/delete');
这是我的代码。我允许用户显式地使用控制器,然后拒绝访问它的操作。但我仍然可以访问它们。当我明确拒绝用户访问时,访问受到限制。我做错什么了吗

我已使用检查权限
$this->Acl->deny('contributors','Users/add')
它返回false,因此被拒绝。

Shota Bakuradze

如果您使用的系统仅使用AUTH组件,则必须仅使用AUTH方法和属性

如果您使用ACL设置了一个系统,那么您通常会以另一种方式定义它,因为它更安全。例如:拒绝控制器级别的每个操作,而不是允许某些操作

这个过程的好处是,如果你忘记允许一个动作,那么你会注意到伤害会减少(没有)

Edit1:
此外,您所称的贡献者必须是ARO,请参阅。

还原身份验证方法和属性下的确切含义是什么?您是否将ACL用作组件?如果没有,请检查AUTH components方法/属性并删除所有$this->Acl。如果您确实想要使用ACL,那么请确保调用是正确的,正如我在Edit1中建议的那样。你们交换了引起麻烦的话。我正在使用ACL和Auth组件,一切似乎都很好,只是不能否认控制器上的特定操作。当我明确拒绝某个控制器时,它会起作用。您是否尝试拒绝该控制器并允许该操作?实际上,这与拒绝某些行动是一样的。