Acceso restringido con Filters

Como muchos de nosotros estoy aprendiendo a usar Yii.

Me he quedado bloqueado en el acceso a usuarios con los filtros. De momento no necesito nada de roles. Me he leido varios tutoriales en ingles, incluida la guia pero hay algo que no pillo o estoy haciendo mal.

Actualmente tengo una página estática privada (por poner un ejemplo) y simplemente quiero que no se pueda acceder si no estás logueado con la opcion de filtros y reglas para ir acostumbrándome.

Esto es lo que tengo:


<?php 

 /**

 * 

 */

 class PrivateController extends Controller

 {

 	

 	public function filters()

    {

        return array(

            'accessControl',

        );

    }


    function actionIndex()

 	{

 		if(Yii::app()->user->isGuest) 

 		{

 			//usuario invitado 		

	 		$this->redirect(Yii::app()->homeUrl);

	 		

	 	}else

	 	{	

	 	 	//usuario logueado	

	 		$this->render('index');

	 	}


 		

 	}




 }




 ?>

Este codigo me funciona pero haciendo uso del isGuest. Según tengo entendido con la funcion filters ya debería ser suficiente para toda la clase.

Un poco de luz por favor! gracias!

Ok, creo que sin las accessRules no hace caso…


public function accessRules()

	{

		return array(

			array('allow',  // allow all users to perform 'index' and 'view' actions

				'actions'=>array('index','view'),

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

			),

			array('allow', // allow authenticated user to perform 'create' and 'update' actions

				'actions'=>array('create','update'),

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

			),

			array('allow', // allow admin user to perform 'admin' and 'delete' actions

				'actions'=>array('admin','delete'),

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

			),

			array('deny',  // deny all users

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

			),

		);

	}

Siendo un novato como tu, creo que la solución no es en los filter si no como bien indicas es en el accessRules, donde por ejemplo usar las reglas como en el siguiente post del foro access rules expressions