мой контроллер расширяет $ app_controller $ компоненты и $ html помощники изначально? - PullRequest
0 голосов
/ 31 января 2011

У меня есть свой 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.
 }
}

1 Ответ

0 голосов
/ 01 февраля 2011

У меня была проблема, как эта, когда я вернулся (но я думал, что она исправлена).Cake был чувствителен к порядку 'Auth' и 'Acl' в объявлении компонентов.Попробуйте поменять их местами.Я вижу в ваших двух примерах кода они поменялись местами .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...