Pessoal,
Fiz esta extensão há alguns dias mas só postei no forum Extensions em inglês, então resolvi postar aqui para o caso de alguém precisar.
YiiSmartMenu
Estritamente falando, esta extensão verifica os itens de um menu (cmenu) e oculta quaisquer itens aos quais o usuário logado não tem acesso, baseando-se no resultado da função checkAccess().
Exemplo:
Meu menu item aponta para "Cliente/update".
Por padrão (isso pode ser customizado) o YSM vai gerar essa verificação:
Yii::app()->user->checkAccess('Cliente.Update', $params).
Conforme o resultado, o item será exibido ou não. Funciona com Rights sem necessidade de alterar nada.
Para mais exemplos, vantagens, opções, customizações e informações, visite a página da extensão:
YiiSmartMenu
Abraço.