CakePHP 2.1 - 未加载/执行自定义授权对象

时间:2012-02-25 15:06:10

标签: php cakephp acl cakephp-2.1

我正在使用CakePHP 2.1 RC + TinyAuthorize,这是AppController.php的下一个方法:

class AppController extends Controller {

    public $components = array('Auth');

    public function beforeFilter() {
        $this->Auth->authorize = array('Tiny');
    }

}

出于某种原因,Tiny没有被执行,因此它的ACL规则没有被应用。什么想法可能是错的?

1 个答案:

答案 0 :(得分:0)

你把它放在应用程序或工具插件中了吗? 对于后者,它应该是

$this->Auth->authorize = array('Tools.Tiny');

有关详细信息,请参阅http://www.dereuromark.de/2011/12/18/tinyauth-the-fastest-and-easiest-authorization-for-cake2/


在弄清楚你的问题后,我编辑了我的答案:

“角色”的此*(=任意)占位符仅指已登录的用户。您不得以这种方式声明您的公共操作!所有这些必须使用$ this-> Auth-> allow()。

声明

原因是Authenticate在授权之前出现。因此,如果没有身份验证(登录),将永远不会有任何授权(检查角色)。