2012-10-30 96 views
0

我跟隨Andrew Perkins excellent tutorial設置CakePHP 2.0中的權限。在cakephp中設置權限Pages controller

但是,我的問題涉及如何在Pages控制器中使用allow和deny方法。目前我有$this->Auth->allow('display'),它允許查看頁面控制器中的所有方法。

如果我只希望主頁允許但其他人拒絕該怎麼辦?我如何編碼?

在此先感謝。

回答

1

確保你已拷貝了PageController.php到您的應用程序/控制器的文件夾。然後,添加基礎上,通過網頁參數beforeFilter回調方法和設置訪問:

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

這應該解決您的問題。

你可以在CakePHP manual找到更多關於請求生命週期的信息。這是非常有用的東西。

0

你試過這段代碼嗎? 你可以出到你的PageController或到您的控制器直接

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

嗨,謝謝。但問題是,頁面控制器有1個輸出方法是顯示(頁面實際上是由方法中傳遞的參數確定的),因此允許或拒絕顯示涵蓋所有頁面視圖。 – khany

+0

嘗試將我的行放入您的controller.php中,而不是在PageController中 –

+0

無論顯示哪個頁面(CakePHP約定),它都不會起作用,因爲我使用的視圖是display。 – khany