Estoy teniendo problemas con el framework, asigno roles y me autentifico con la base de datos, pero quiero personalizar el menú de arriba en función del tipo de usuario, el problema llega al comprobar el usuario en el login.
Esto lo quiero hacer en /protected/views/layout/main.php
Existe alguna operación que te devuelva el rol del usuario activo??
Aclaración: No tengo nada en la base de datos que indique el rol de cada usuario, estos se diferencian por estar almacenados en distintas tablas.
Si estuviera usando el control de roles interno de Yii le diría que lo hiciera con:
Yii::app()->user->checkAccess('nombre_de_rol')
Pero considerando que está en tablas diferentes creería que debería hacer algo como:
if(Roles1::model()-findByAttributes(array('usuario_id'=>Yii::app()->user->id))){
//Encontrado en tabla 1
} else if(Roles2::model()-findByAttributes(array('usuario_id'=>Yii::app()->user->id))){
//Encontrado en tabla 2
} else {
//Sin permisos
}
public function accessRules()
{
return array(
array('allow', // allow all users to perform 'index' and 'view' actions
// NOTA: Si hay varias reglas se tienen que cumplir todas (Ej: roles y users)
'actions'=>array('index','view'),
'roles' => array('admin','user'),
),
....
O puedes hacer un control específico para un comando con un if de toda la vida.