У меня есть свой UsersController, который, конечно, расширяет мой app_controller.
В моем app_controller мои $ компоненты определены следующим образом:
$components = array('Acl', 'Auth', 'Session', 'RequestHandler');
Когда я пытаюсь получить доступ к представлению индекса моих пользователей, Я получаю сообщение об ошибке (это означает, что компонент Auth не был активирован в контроллере).
НО
Если я помещу эту строку непосредственно в мой 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.
}
}