我有一个相当简单的CakePHP应用程序,它使用Auth组件来限制对管理功能的访问。这一切都运行良好但我使用Pages Controller显示主页和Admin主页。
如何设置auth来控制对家庭和'/ admin'等'/'等页面的访问?
答案 0 :(得分:4)
将PagesController从/cake/libs/controller/
目录复制到常规/app/controller/
目录中,并根据需要进行修改。
答案 1 :(得分:0)
我不相信您可以使用Auth组件有效地保护静态页面,因为页面控制器使用单个操作display()来呈现所有静态页面。由于您通常会执行类似Auth-> allow('display')的操作来允许访问静态页面(如'/'),因此没有一种有效的方法来指定允许/拒绝各个静态页面。
答案 2 :(得分:0)
这对我有用:
在您的app控制器中:
function beforeFilter(){
if(@$this->params['pass'][0] == 'profile') //allow \app\views\pages\profile.ctp
$this->Auth->allow('display');
}
您也不必使用$this->params['pass']
变量。 $this
变量中有很多信息可用于定位正确的页面。您也可以使用网址,通常采用以下格式:/ pages / page-name