我有一个CakePHP网站,我想为每个模型的添加,编辑和删除创建一个用户登录,也就是说,任何人都可以进入该网站的任何部分,但是对于这三个视图,需要一次登录。
为每个我可以免费访问的视图执行beforeFilter将需要太多时间,并且最终难以维护。
有一种简单的方法可以做到这一点吗?
答案 0 :(得分:1)
在appController中,beforeFilter回调默认允许所有操作:
// Allow all actions. CakePHP 2.0
$this->Auth->allow('*');
// Allow all actions. CakePHP 2.1
$this->Auth->allow();
然后在控制器(或appController?)中拒绝其中一些:
parent::beforeFilter(); // Must be before deny method, in other way you first deny add and then allow it
$this->Auth->deny('add', 'edit');