Controle De Acesso

Bom dia gostaria de saber como fazer o controle de acesso "accessRules" sendo definido pelo banco de dados, ex:

no banco de dados define quais actions de cada controller que o usuário especifico pode acessar.

Por exemplo:


array('allow',

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

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

    'expression'=>'Yii::app()->controller->isAdmin()==TRUE',

),

Depois é construir a função isAdmin para devolver TRUE ou FALSE.

Mas certamente haverá uma solução mais elegante :)

Cumpts,

SilverPT