0
我有我的UsersController當然擴展我的app_controller。
在我app_controller我有我的$組件定義爲這樣:
$components = array('Acl', 'Auth', 'Session', 'RequestHandler');
當我嘗試訪問我的用戶索引視圖,我得到一個錯誤(這意味着驗證組件還沒有在激活控制器)。
但
如果我把這個線直接在我的UsersController:
$components = array('Acl', 'Auth', 'Session', 'RequestHandler');
頁按預期工作。
我的遠程服務器有後面的問題。但是我的本地開發環境似乎很好地擴展了app_controller的$組件。
有誰知道爲什麼會發生這種情況?
這裏是我的app_controller源代碼:
class AppController extends Controller {
var $helpers = array('Html', 'Form', 'Session', 'Ajax', 'Javascript');
var $components = array('Auth', 'Acl', 'Session', 'RequestHandler');
function beforeFilter() {
//Configure AuthComponent
$this->Auth->authorize = 'actions';
$this->Auth->loginRedirect = array('controller' => 'pages', 'action' => 'cms');
$this->Auth->logoutRedirect = array(Configure::read('Routing.admin') => false, 'controller' => 'users', 'action' => 'logout');
$this->Auth->actionPath = 'controllers/';
$this->Auth->allow('display'); // Allows all action => pages for non logged in users.
}
}
你可以粘貼你的app_controller代碼嗎?蛋糕合併默認值,所以你可能做一些有趣的__construct在控制器之一 – dogmatic69 2011-01-31 21:19:01