Проблемы CakePHP Acl - PullRequest
       0

Проблемы CakePHP Acl

2 голосов
/ 10 мая 2011

У меня есть простая система аутентификации на моем веб-сайте Cake, и я позволяю пользователям только просматривать индекс и просматривать мой posts_controller, но они не могут добавлять или редактировать их. Я делаю это с помощью следующего кода:

function beforeFilter()
{
    parent::beforeFilter();

    $this->Auth->allow(array('index','view'));
}

Теперь это работает нормально, так как они просто перенаправлены на страницу входа, где они могут войти, чтобы получить доступ к странице, но вместо получения доступа выдается следующая ошибка:

Warning (512): Could not find AclComponent. Please include Acl in Controller::$components. [CORE/cake/libs/controller/components/auth.php, line 421]
Notice (8): Undefined property: AuthComponent::$Acl [CORE/cake/libs/controller/components/auth.php, line 527]
Fatal error: Call to a member function check() on a non-object in /Users/cameron/Sites/cake-1.3.8/cake/libs/controller/components/auth.php on line 527

Я не уверен, почему я получаю ошибки об ACL, поскольку я нигде не использую ACL в своем приложении, все, что я делаю, просто говорю, что пользователь должен войти в систему, чтобы получить доступ к этим ДРУГИМ действиям. *

Есть идеи, в чем проблема и как ее исправить?

1 Ответ

3 голосов
/ 11 мая 2011

Когда вы попадаете на строку 527 AuthComponent, означает ли это, что где-то вы настроили AuthComponent что-то вроде этого:

$ this-> Auth-> authorize = 'actions';

В этом случае AuthComponent использует AclComponent для проверки, разрешено ли пользователю выполнять действие.

См. http://book.cakephp.org/view/1250/Authentication#!/view/1275/authorize

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