我跟隨Andrew Perkins excellent tutorial設置CakePHP 2.0中的權限。在cakephp中設置權限Pages controller
但是,我的問題涉及如何在Pages控制器中使用allow和deny方法。目前我有$this->Auth->allow('display')
,它允許查看頁面控制器中的所有方法。
如果我只希望主頁允許但其他人拒絕該怎麼辦?我如何編碼?
在此先感謝。
我跟隨Andrew Perkins excellent tutorial設置CakePHP 2.0中的權限。在cakephp中設置權限Pages controller
但是,我的問題涉及如何在Pages控制器中使用allow和deny方法。目前我有$this->Auth->allow('display')
,它允許查看頁面控制器中的所有方法。
如果我只希望主頁允許但其他人拒絕該怎麼辦?我如何編碼?
在此先感謝。
確保你已拷貝了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找到更多關於請求生命週期的信息。這是非常有用的東西。
你試過這段代碼嗎? 你可以出到你的PageController或到您的控制器直接
$views = array ('index'); //array of view that you want allow
$this->Auth->allow($views);
嗨,謝謝。但問題是,頁面控制器有1個輸出方法是顯示(頁面實際上是由方法中傳遞的參數確定的),因此允許或拒絕顯示涵蓋所有頁面視圖。 – khany
嘗試將我的行放入您的controller.php中,而不是在PageController中 –
無論顯示哪個頁面(CakePHP約定),它都不會起作用,因爲我使用的視圖是display。 – khany