Ciao, si ho risolto. In realtà la mia applicazione non necessitava di chissà quanti controlli, nel senso che quando creo un utente gli assegno un ruolo, poi dovevo filtrare parti di codice nella app e non permettere l’accesso a determinate action. Ho risolto seguento questa guida.
Poi per ogni controller ho definito dei filtri, a titolo di esempio
public function filters()
{
return array(
'createContext + create'
);
}
public function filtercreateContext($filterChain)
{
if(!Yii::app()->user->checkAccess(User::ROLE_ADMIN.','.User::ROLE_SPECIALIST)){
throw new CHttpException(404,'');
}
$filterChain->run();
}
Non so se sia il modo migliore di procedere, ma per me va benissimo. Avevo la consegna del lavoro a breve e mi è sembrata la via migliore, evitanto lunghi e tediosi RBAC, nuove tabelle per ogni modulo a cui accedere, etc