CakePHP 2.1 - пользовательский объект авторизации не загружен / не выполнен - PullRequest
0 голосов
/ 25 февраля 2012

Я использую CakePHP 2.1 RC + TinyAuthorize , следующий путь в AppController.php:

class AppController extends Controller {

    public $components = array('Auth');

    public function beforeFilter() {
        $this->Auth->authorize = array('Tiny');
    }

}

По какой-то причине Tiny не выполняется, поэтому это ACLправила не применяются.Есть идеи, что может быть не так?

1 Ответ

0 голосов
/ 25 февраля 2012

Вы положили его в плагин app или tools?для последнего предполагается, что это будет

$this->Auth->authorize = array('Tools.Tiny');

Подробнее см. http://www.dereuromark.de/2011/12/18/tinyauth-the-fastest-and-easiest-authorization-for-cake2/


После выяснения вашей проблемы я редактирую свой ответ:

Этот * (= любой) заполнитель для «ролей» относится только к тем пользователям, которые вошли в систему. Вы не должны объявлять свои публичные действия таким образом!Все они должны быть объявлены с использованием $ this-> Auth-> allow ().

Причина в том, что Authenticate предшествует авторизации.Поэтому без Аутентификации (вошедшей в систему) никогда не будет авторизации (проверка ролей).

...