2009-09-18 84 views
1

我有一個相當簡單的CakePHP應用程序,它使用Auth組件限制對管理功能的訪問。這一切都工作正常,但我使用頁面控制器顯示主頁和管理主頁。如何在CakePHP中密碼保護靜態頁面?

我該如何設置auth來控制對'/'等頁面訪問家庭和'/ admin'的訪問?

回答

4

將目錄中的PagesController複製到您的常規/app/controller/目錄中,並根據需要對其進行修改。

0

我不相信你可以使用Auth組件來有效地保護靜態頁面,因爲頁面控制器使用單個動作display()來呈現所有靜態頁面。因爲通常你會像Auth-> allow('display')那樣允許訪問像'/'這樣的靜態頁面,所以沒有一種有效的方式來指定個別靜態頁面的允許/拒絕。在您的應用程序控制器

0

這個工作對我來說

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