RBAC в файле

Возник такой вопрос: воспользовался методом SamDark’а (статья). Все работает. Только вот не могу в контроллере назначить accessRules.

Пробую так:


	public function accessRules()

    {

        return array(

            array('allow',

                'actions'=>array('album'),

	            'roles' => array('administrator'),

            ),

        );

    }

И все равно пускает к этому экшену абсолютно всех. Роль определяется правильно (если разлогинен - guest, если залогинен - administrator). В чем беда?

Разрешить разрешили, а запретить всем остальным забыли. См. примеры в рецепте. Вроде там есть.


	

	public function accessRules()

    {

        return array(

            array('allow',

                'actions'=>array('album'),

	            'roles' => array('administrator'),

            ),

        );

        return array(

            array('deny',

                'actions'=>array('album'),

	            'roles' => array('guest'),

            ),

        );

    }

Запретил, ничего не изменилось :(((

После return дальнейшее выполнение кода в пределах метода прекращается.

Надо так:




public function accessRules(){

  return array(

    array('allow',

      'actions'=>array('album'),

      'roles' => array('administrator'),

    ),

    array('deny',  // deny all users

      'users'=>array('*'),

    ),

  );

}



И так не хочет :((( И вот так:


public function accessRules(){

  return array(

    array('allow',

      'actions'=>array('album'),

      'roles' => array('administrator'),

    ),

    array('deny',  

      'actions'=>array('album'),

      'users'=>array('*'),

    ),

  );

}

Более того, accessRules вообще напрочь отказывается работать. Пытался закрыть действие для всех:


	public function accessRules() {

		return array(

			

			array( 'deny' , 'actions' => array('album'), 'users' => array('*') )

			

			);

	}

Не хочет :(((

Тфу блин, прошу прощения, в функции filters() то я не указал, что использую accessRules(). Проблема решена :)