在cakephp Pages控制器中设置权限

时间:2012-10-30 07:52:25

标签: cakephp authentication cakephp-2.0

我跟随Andrew Perkins excellent tutorial在CakePHP 2.0中设置权限。

然而,我的问题涉及如何在Pages控制器中使用allow和deny方法。目前我有$this->Auth->allow('display'),它允许查看Pages控制器中的所有方法。

如果我只想要允许主页但其他内容被拒绝怎么办?我该如何编码?

提前致谢。

2 个答案:

答案 0 :(得分:1)

确保已将PageController.php复制到app / Controller文件夹。然后,添加 beforeFilter 回调方法,并根据传递的页面参数设置访问权限:

public function beforeFilter() {   
    // Use $this->request->pass to get the requested page name/id   
    // Decide on access with $this->Auth->allow() 
}

这可以解决您的问题。

您可以在CakePHP manual中找到有关请求生命周期的更多信息。这是非常有用的东西。

答案 1 :(得分:0)

你试过这段代码吗? 您可以直接将它输出到PageController或控制器中

$views = array ('index'); //array of view that you want allow
$this->Auth->allow($views);