[Solucionado] Roles De Usuarios

Buenas, tengo la siguiente duda, ¿como hacer para que en las opciones del menú de mi aplicación se muestren según el tipo de usuario?

Es decir si son de tipo 1 me muestre solo ciertas opciones del menú y así sucesivamente. Si existe algún post donde se resuelva esta duda o algún link les agradecería, o si pudiesen contestar mi duda igualmente agradecido.

Logre hacerlo de esta manera el problema es que cuando cierro cesion me da un error de "Trying to get property of non-object"

El codigo es este si alguien pudiese ayudarme




<?php if (Yii::app()->user->getIdCustomer() == 1) {?>

<div class="navbar navbar-inverse navbar-fixed-top">

	<div class="navbar-inner">

    <div class="container">

        <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">

            <span class="icon-bar"></span>

            <span class="icon-bar"></span>

            <span class="icon-bar"></span>

          </a>

     

          <!-- Be sure to leave the brand out there if you want it shown -->

          <a class="brand" href="#">SDC</a>


          <div class="nav-collapse">

			<?php $this->widget('zii.widgets.CMenu',array(

                    'htmlOptions'=>array('class'=>'pull-right nav'),

                    'submenuHtmlOptions'=>array('class'=>'dropdown-menu'),

					'itemCssClass'=>'item-test',

                    'encodeLabel'=>false,

					'items'=>array(

                        array('label'=>'Inicio', 'url'=>array('/site/index')),

						

                        array('label'=>'Atencion Al Ciudadano <span class="caret"></span>', 'url'=>'#', 'itemOptions'=>array('class'=>'dropdown','tabindex'=>"-1"),'linkOptions'=>array('class'=>'dropdown-toggle','data-toggle'=>"dropdown"),

						'items'=>array(

						array('label'=>'Solicitantes', 'url'=>array('/Solicitantes/index')),

						array('label'=>'Solicitudes Sociales', 'url'=>array('/SolicitudesSocial/index')),

						array('label'=>'Comunidades', 'url'=>array('/Comunidades/index')),

						array('label'=>'Instituciones', 'url'=>array('/Instituciones/index')),

						array('label'=>'Solicitudes de Mercal', 'url'=>array('/')),

						array('label'=>'Remisiones', 'url'=>array('/site/page')),

						)),

                        array('label'=>'Ayudas Sociales <span class="caret"></span>', 'url'=>'#', 'itemOptions'=>array('class'=>'dropdown','tabindex'=>"-1"),'linkOptions'=>array('class'=>'dropdown-toggle','data-toggle'=>"dropdown"),

						'items'=>array(

						array('label'=>'Solicitudes', 'url'=>array('/site/page')),

						array('label'=>'Aprobaciones', 'url'=>array('/site/page')),

						)),

						array('label'=>'Mercal <span class="caret"></span>', 'url'=>'#', 'itemOptions'=>array('class'=>'dropdown','tabindex'=>"-1"),'linkOptions'=>array('class'=>'dropdown-toggle','data-toggle'=>"dropdown"),

						'items'=>array(

						array('label'=>'Solicitudes', 'url'=>array('/site/page')),

						array('label'=>'Aprobaciones', 'url'=>array('/site/page')),

						)),

						array('label'=>'Despacho <span class="caret"></span>', 'url'=>'#', 'itemOptions'=>array('class'=>'dropdown','tabindex'=>"-1"),'linkOptions'=>array('class'=>'dropdown-toggle','data-toggle'=>"dropdown"),

						'items'=>array(

						array('label'=>'Remisiones', 'url'=>array('/site/page')),

						array('label'=>'Aprobaciones', 'url'=>array('/site/page')),

						)),

                        array('label'=>'Recursos Humanos <span class="caret"></span>', 'url'=>'#', 'itemOptions'=>array('class'=>'dropdown','tabindex'=>"-1"),'linkOptions'=>array('class'=>'dropdown-toggle','data-toggle'=>"dropdown"),

						'items'=>array(

						array('label'=>'Empleados', 'url'=>array('/empleados/index')),

						array('label'=>'Vacaciones', 'url'=>array('/vacaciones/index')),

						array('label'=>'Permisos', 'url'=>array('/site/page')),

						array('label'=>'Reposos', 'url'=>array('/site/page')),

						)),

                        array('label'=>'Cerrar Sesion ('.Yii::app()->user->name.')', 'url'=>array('/site/logout')),

                    ),

                )); ?>

        </div>

    </div>

	</div>

</div>


<div class="subnav navbar navbar-fixed-top">

    <div class="navbar-inner">

    	<div class="container">

        

        	<div class="style-switcher pull-left">

                <a href="javascript:chooseStyle('none', 60)" checked="checked"><span class="style" style="background-color:#a30c22;"></span></a>

                <a href="javascript:chooseStyle('style2', 60)"><span class="style" style="background-color:#7c5706;"></span></a>

                <a href="javascript:chooseStyle('style3', 60)"><span class="style" style="background-color:#468847;"></span></a>

                <a href="javascript:chooseStyle('style4', 60)"><span class="style" style="background-color:#4e4e4e;"></span></a>

                <a href="javascript:chooseStyle('style5', 60)"><span class="style" style="background-color:#d85515;"></span></a>

                <a href="javascript:chooseStyle('style6', 60)"><span class="style" style="background-color:#c12889;"></span></a>

                <a href="javascript:chooseStyle('style7', 60)"><span class="style" style="background-color:#1d2e7b;"></span></a>

          	</div>

    	</div><!-- container -->

        

    </div><!-- navbar-inner -->

</div><!-- subnav -->

<?php } else if (Yii::app()->user->getIdCustomer() == 2) {?>

<div class="navbar navbar-inverse navbar-fixed-top">

	<div class="navbar-inner">

    <div class="container">

        <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">

            <span class="icon-bar"></span>

            <span class="icon-bar"></span>

            <span class="icon-bar"></span>

          </a>

     

          <!-- Be sure to leave the brand out there if you want it shown -->

          <a class="brand" href="#">SDC</a>


          <div class="nav-collapse">

			<?php $this->widget('zii.widgets.CMenu',array(

                    'htmlOptions'=>array('class'=>'pull-right nav'),

                    'submenuHtmlOptions'=>array('class'=>'dropdown-menu'),

					'itemCssClass'=>'item-test',

                    'encodeLabel'=>false,

					'items'=>array(

                        array('label'=>'Inicio', 'url'=>array('/site/index')),

						

                        array('label'=>'Atencion Al Ciudadano <span class="caret"></span>', 'url'=>'#', 'itemOptions'=>array('class'=>'dropdown','tabindex'=>"-1"),'linkOptions'=>array('class'=>'dropdown-toggle','data-toggle'=>"dropdown"),

						'items'=>array(

						array('label'=>'Solicitantes', 'url'=>array('/Solicitantes/index')),

						array('label'=>'Solicitudes Sociales', 'url'=>array('/SolicitudesSocial/index')),

						array('label'=>'Comunidades', 'url'=>array('/Comunidades/index')),

						array('label'=>'Instituciones', 'url'=>array('/Instituciones/index')),

						array('label'=>'Solicitudes de Mercal', 'url'=>array('/')),

						array('label'=>'Remisiones', 'url'=>array('/site/page')),

						)),

                        array('label'=>'Cerrar Sesion ('.Yii::app()->user->name.')', 'url'=>array('/site/logout')),

                    ),

                )); ?>

        </div>

    </div>

	</div>

</div>


<div class="subnav navbar navbar-fixed-top">

    <div class="navbar-inner">

    	<div class="container">

        

        	<div class="style-switcher pull-left">

                <a href="javascript:chooseStyle('none', 60)" checked="checked"><span class="style" style="background-color:#a30c22;"></span></a>

                <a href="javascript:chooseStyle('style2', 60)"><span class="style" style="background-color:#7c5706;"></span></a>

                <a href="javascript:chooseStyle('style3', 60)"><span class="style" style="background-color:#468847;"></span></a>

                <a href="javascript:chooseStyle('style4', 60)"><span class="style" style="background-color:#4e4e4e;"></span></a>

                <a href="javascript:chooseStyle('style5', 60)"><span class="style" style="background-color:#d85515;"></span></a>

                <a href="javascript:chooseStyle('style6', 60)"><span class="style" style="background-color:#c12889;"></span></a>

                <a href="javascript:chooseStyle('style7', 60)"><span class="style" style="background-color:#1d2e7b;"></span></a>

          	</div>

    	</div><!-- container -->

        

    </div><!-- navbar-inner -->

</div><!-- subnav -->

<?php } else if (Yii::app()->user->getIdCustomer() == 3) {?>

<div class="navbar navbar-inverse navbar-fixed-top">

	<div class="navbar-inner">

    <div class="container">

        <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">

            <span class="icon-bar"></span>

            <span class="icon-bar"></span>

            <span class="icon-bar"></span>

          </a>

     

          <!-- Be sure to leave the brand out there if you want it shown -->

          <a class="brand" href="#">SDC</a>


          <div class="nav-collapse">

			<?php $this->widget('zii.widgets.CMenu',array(

                    'htmlOptions'=>array('class'=>'pull-right nav'),

                    'submenuHtmlOptions'=>array('class'=>'dropdown-menu'),

					'itemCssClass'=>'item-test',

                    'encodeLabel'=>false,

					'items'=>array(

                        array('label'=>'Inicio', 'url'=>array('/site/index')),

                        array('label'=>'Ayudas Sociales <span class="caret"></span>', 'url'=>'#', 'itemOptions'=>array('class'=>'dropdown','tabindex'=>"-1"),'linkOptions'=>array('class'=>'dropdown-toggle','data-toggle'=>"dropdown"),

						'items'=>array(

						array('label'=>'Solicitudes', 'url'=>array('/site/page')),

						array('label'=>'Aprobaciones', 'url'=>array('/site/page')),

						)),

                        array('label'=>'Cerrar Sesion ('.Yii::app()->user->name.')', 'url'=>array('/site/logout')),

                    ),

                )); ?>

        </div>

    </div>

	</div>

</div>


<div class="subnav navbar navbar-fixed-top">

    <div class="navbar-inner">

    	<div class="container">

        

        	<div class="style-switcher pull-left">

                <a href="javascript:chooseStyle('none', 60)" checked="checked"><span class="style" style="background-color:#a30c22;"></span></a>

                <a href="javascript:chooseStyle('style2', 60)"><span class="style" style="background-color:#7c5706;"></span></a>

                <a href="javascript:chooseStyle('style3', 60)"><span class="style" style="background-color:#468847;"></span></a>

                <a href="javascript:chooseStyle('style4', 60)"><span class="style" style="background-color:#4e4e4e;"></span></a>

                <a href="javascript:chooseStyle('style5', 60)"><span class="style" style="background-color:#d85515;"></span></a>

                <a href="javascript:chooseStyle('style6', 60)"><span class="style" style="background-color:#c12889;"></span></a>

                <a href="javascript:chooseStyle('style7', 60)"><span class="style" style="background-color:#1d2e7b;"></span></a>

          	</div>

    	</div><!-- container -->

        

    </div><!-- navbar-inner -->

</div><!-- subnav -->

<?php } else if (Yii::app()->user->getIdCustomer() == 4) {?>

<div class="navbar navbar-inverse navbar-fixed-top">

	<div class="navbar-inner">

    <div class="container">

        <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">

            <span class="icon-bar"></span>

            <span class="icon-bar"></span>

            <span class="icon-bar"></span>

          </a>

     

          <!-- Be sure to leave the brand out there if you want it shown -->

          <a class="brand" href="#">SDC</a>


 		<div class="nav-collapse">

			<?php $this->widget('zii.widgets.CMenu',array(

                    'htmlOptions'=>array('class'=>'pull-right nav'),

                    'submenuHtmlOptions'=>array('class'=>'dropdown-menu'),

					'itemCssClass'=>'item-test',

                    'encodeLabel'=>false,

					'items'=>array(

                        array('label'=>'Inicio', 'url'=>array('/site/index')),

						array('label'=>'Mercal <span class="caret"></span>', 'url'=>'#', 'itemOptions'=>array('class'=>'dropdown','tabindex'=>"-1"),'linkOptions'=>array('class'=>'dropdown-toggle','data-toggle'=>"dropdown"),

						'items'=>array(

						array('label'=>'Solicitudes', 'url'=>array('/site/page')),

						array('label'=>'Aprobaciones', 'url'=>array('/site/page')),

						)),

                        array('label'=>'Cerrar Sesion ('.Yii::app()->user->name.')', 'url'=>array('/site/logout')),

                    ),

                )); ?>

        </div>

    </div>

	</div>

</div>


<div class="subnav navbar navbar-fixed-top">

    <div class="navbar-inner">

    	<div class="container">

        

        	<div class="style-switcher pull-left">

                <a href="javascript:chooseStyle('none', 60)" checked="checked"><span class="style" style="background-color:#a30c22;"></span></a>

                <a href="javascript:chooseStyle('style2', 60)"><span class="style" style="background-color:#7c5706;"></span></a>

                <a href="javascript:chooseStyle('style3', 60)"><span class="style" style="background-color:#468847;"></span></a>

                <a href="javascript:chooseStyle('style4', 60)"><span class="style" style="background-color:#4e4e4e;"></span></a>

                <a href="javascript:chooseStyle('style5', 60)"><span class="style" style="background-color:#d85515;"></span></a>

                <a href="javascript:chooseStyle('style6', 60)"><span class="style" style="background-color:#c12889;"></span></a>

                <a href="javascript:chooseStyle('style7', 60)"><span class="style" style="background-color:#1d2e7b;"></span></a>

          	</div>

    	</div><!-- container -->

        

    </div><!-- navbar-inner -->

</div><!-- subnav -->

<?php } else if (Yii::app()->user->getIdCustomer() == 5) {?>

<div class="navbar navbar-inverse navbar-fixed-top">

	<div class="navbar-inner">

    <div class="container">

        <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">

            <span class="icon-bar"></span>

            <span class="icon-bar"></span>

            <span class="icon-bar"></span>

          </a>

     

          <!-- Be sure to leave the brand out there if you want it shown -->

          <a class="brand" href="#">SDC</a>


 		<div class="nav-collapse">

			<?php $this->widget('zii.widgets.CMenu',array(

                    'htmlOptions'=>array('class'=>'pull-right nav'),

                    'submenuHtmlOptions'=>array('class'=>'dropdown-menu'),

					'itemCssClass'=>'item-test',

                    'encodeLabel'=>false,

					'items'=>array(

                        array('label'=>'Inicio', 'url'=>array('/site/index')),

						array('label'=>'Despacho <span class="caret"></span>', 'url'=>'#', 'itemOptions'=>array('class'=>'dropdown','tabindex'=>"-1"),'linkOptions'=>array('class'=>'dropdown-toggle','data-toggle'=>"dropdown"),

						'items'=>array(

						array('label'=>'Remisiones', 'url'=>array('/site/page')),

						array('label'=>'Aprobaciones', 'url'=>array('/site/page')),

						)),

                        array('label'=>'Cerrar Sesion ('.Yii::app()->user->name.')', 'url'=>array('/site/logout')),

                    ),

                )); ?>

        </div>

    </div>

	</div>

</div>


<div class="subnav navbar navbar-fixed-top">

    <div class="navbar-inner">

    	<div class="container">

        

        	<div class="style-switcher pull-left">

                <a href="javascript:chooseStyle('none', 60)" checked="checked"><span class="style" style="background-color:#a30c22;"></span></a>

                <a href="javascript:chooseStyle('style2', 60)"><span class="style" style="background-color:#7c5706;"></span></a>

                <a href="javascript:chooseStyle('style3', 60)"><span class="style" style="background-color:#468847;"></span></a>

                <a href="javascript:chooseStyle('style4', 60)"><span class="style" style="background-color:#4e4e4e;"></span></a>

                <a href="javascript:chooseStyle('style5', 60)"><span class="style" style="background-color:#d85515;"></span></a>

                <a href="javascript:chooseStyle('style6', 60)"><span class="style" style="background-color:#c12889;"></span></a>

                <a href="javascript:chooseStyle('style7', 60)"><span class="style" style="background-color:#1d2e7b;"></span></a>

          	</div>

    	</div><!-- container -->

        

    </div><!-- navbar-inner -->

</div><!-- subnav -->

<?php } else if (Yii::app()->user->getIdCustomer() == 6) {?>

<div class="navbar navbar-inverse navbar-fixed-top">

	<div class="navbar-inner">

    <div class="container">

        <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">

            <span class="icon-bar"></span>

            <span class="icon-bar"></span>

            <span class="icon-bar"></span>

          </a>

     

          <!-- Be sure to leave the brand out there if you want it shown -->

          <a class="brand" href="#">SDC</a>


 		<div class="nav-collapse">

			<?php $this->widget('zii.widgets.CMenu',array(

                    'htmlOptions'=>array('class'=>'pull-right nav'),

                    'submenuHtmlOptions'=>array('class'=>'dropdown-menu'),

					'itemCssClass'=>'item-test',

                    'encodeLabel'=>false,

					'items'=>array(

                        array('label'=>'Inicio', 'url'=>array('/site/index')),

                        array('label'=>'Recursos Humanos <span class="caret"></span>', 'url'=>'#', 'itemOptions'=>array('class'=>'dropdown','tabindex'=>"-1"),'linkOptions'=>array('class'=>'dropdown-toggle','data-toggle'=>"dropdown"),

						'items'=>array(

						array('label'=>'Empleados', 'url'=>array('/empleados/index')),

						array('label'=>'Vacaciones', 'url'=>array('/vacaciones/index')),

						array('label'=>'Permisos', 'url'=>array('/site/page')),

						array('label'=>'Reposos', 'url'=>array('/site/page')),

						)),

                        array('label'=>'Cerrar Sesion ('.Yii::app()->user->name.')', 'url'=>array('/site/logout')),

                    ),

                )); ?>

        </div>

    </div>

	</div>

</div>


<div class="subnav navbar navbar-fixed-top">

    <div class="navbar-inner">

    	<div class="container">

        

        	<div class="style-switcher pull-left">

                <a href="javascript:chooseStyle('none', 60)" checked="checked"><span class="style" style="background-color:#a30c22;"></span></a>

                <a href="javascript:chooseStyle('style2', 60)"><span class="style" style="background-color:#7c5706;"></span></a>

                <a href="javascript:chooseStyle('style3', 60)"><span class="style" style="background-color:#468847;"></span></a>

                <a href="javascript:chooseStyle('style4', 60)"><span class="style" style="background-color:#4e4e4e;"></span></a>

                <a href="javascript:chooseStyle('style5', 60)"><span class="style" style="background-color:#d85515;"></span></a>

                <a href="javascript:chooseStyle('style6', 60)"><span class="style" style="background-color:#c12889;"></span></a>

                <a href="javascript:chooseStyle('style7', 60)"><span class="style" style="background-color:#1d2e7b;"></span></a>

          	</div>

    	</div><!-- container -->

        

    </div><!-- navbar-inner -->

</div><!-- subnav -->

<?php } else { ?>

<div class="navbar navbar-inverse navbar-fixed-top">

	<div class="navbar-inner">

    <div class="container">

        <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">

            <span class="icon-bar"></span>

            <span class="icon-bar"></span>

            <span class="icon-bar"></span>

          </a>

     

          <!-- Be sure to leave the brand out there if you want it shown -->

          <a class="brand" href="#">SDC</a>


 		<div class="nav-collapse">

			<?php $this->widget('zii.widgets.CMenu',array(

                    'htmlOptions'=>array('class'=>'pull-right nav'),

                    'submenuHtmlOptions'=>array('class'=>'dropdown-menu'),

					'itemCssClass'=>'item-test',

                    'encodeLabel'=>false,

					'items'=>array(

                        array('label'=>'Inicio', 'url'=>array('/site/index')),

                        array('label'=>'Iniciar Sesion', 'url'=>array('/site/login')),

                    ),

                )); ?>

        </div>

    </div>

	</div>

</div>


<div class="subnav navbar navbar-fixed-top">

    <div class="navbar-inner">

    	<div class="container">

        

        	<div class="style-switcher pull-left">

                <a href="javascript:chooseStyle('none', 60)" checked="checked"><span class="style" style="background-color:#a30c22;"></span></a>

                <a href="javascript:chooseStyle('style2', 60)"><span class="style" style="background-color:#7c5706;"></span></a>

                <a href="javascript:chooseStyle('style3', 60)"><span class="style" style="background-color:#468847;"></span></a>

                <a href="javascript:chooseStyle('style4', 60)"><span class="style" style="background-color:#4e4e4e;"></span></a>

                <a href="javascript:chooseStyle('style5', 60)"><span class="style" style="background-color:#d85515;"></span></a>

                <a href="javascript:chooseStyle('style6', 60)"><span class="style" style="background-color:#c12889;"></span></a>

                <a href="javascript:chooseStyle('style7', 60)"><span class="style" style="background-color:#1d2e7b;"></span></a>

          	</div>

    	</div><!-- container -->

        

    </div><!-- navbar-inner -->

</div><!-- subnav -->

<?php } ?>



Primero que nada mirate este http://www.yiiframework.com/forum/index.php/topic/13948-control-de-acceso-basado-en-roles/

luego

intenta este código antes del menú que quieras ocultar/mostrar teniendo en cuenta el roll

//en donde admin es el rol que le permitirá el usuario poder ver el menu




  <?php if (Yii::app()->user->checkAccess('admin'))

{ ?> 

    


             <li class="dropdown">

              <a href="#" class="dropdown-toggle" data-toggle="dropdown" >CONFIGURACION <b class="caret"></b></a>

              <ul class="dropdown-menu">

                <li><a href="<?php  echo Yii::app()->request->baseUrl ?>/usuarios">USUARIOS</a></li>

              <?php }?>   



Si ya leí sobre el tema pero no aclara mis duras, porque por ahora no estoy interesado en asignar quien crea, modifica, lee y administra, lo que yo necesito por ahora es definir lo que vera según el tipo de usuario que tengo definido en la tabla de usuarios de la base de datos de la siguiente manera.

  • Si el usuario es de tipo 1 es administrador y ve todas las opciones.

  • Si el usuario es de tipo 2 ve todas las opciones de atencion al ciudadano.

  • Si el usuario es de tipo 3 ve todas las opciones de ayudas sociales.

  • Si el usuario es de tipo 4 ve todas las opciones de mercal.

  • Si el usuario es de tipo 5 ve todas las opciones de despacho.

  • Si el usuario es de tipo 6 ve todas las opciones de recursos humanos.

Y que posibilidad existe de que si no hay un usuario activo me redireccione a la vista del login?

si estas usando el CDbAuthManager.

con este


 <?php if (Yii::app()->user->checkAccess('admin'))

{ ?> 

preguntas si el usuario actual tiene el roll de ‘admin’ en este caso, si lo deja ver el menu, si no se lo oculta es lo que hace ps.

respecto a lo de "Y que posibilidad existe de que si no hay un usuario activo me redireccione a la vista del login? "

intenta en tu site/index agregar este codigo

if (Yii::app()->user->name=="" or Yii::app()->user->name=="Guest")

quedaria algo asi




<?php $form=$this->beginWidget('CActiveForm', array(

	'id'=>'login-form',

	'action'=>$this->createUrl("site/login"),

	'htmlOptions'=>array("style"=>"text-align: center"),

	'enableClientValidation'=>true,

	'clientOptions'=>array(

		'validateOnSubmit'=>true,

	),

)); 


if (Yii::app()->user->name=="" or Yii::app()->user->name=="Guest")

{

$this->redirect(array('/site/login')); 

}

?>



muchas gracias con respecto al CDbAuthManager creo que aun debo leer mucho sobre el tema porque no lo entiendo casi

Logre solucionarlo sin CDbAuthManager la solución es la siguiente

Primero la tabla de usuarios de su aplicación debe tener un tipo de usuarios definido por un numero ej: 1 = administrador

Después creamos un componente que nombraremos WebUser.php este componente tiene una función llamada getIdCustomer que me tomara el tipo_usuario en la tabla de usuarios.




<?php


class WebUser extends CWebUser

{

         // Store model to not repeat query.

        private $_model;

 

        // Return first name.

        // accesdemos al Cus


        protected function loadUser($usuario_id=null)

        {

             if($this->_model===null)

             {

                  if($usuario_id!==null)

                       $this->_model = Usuarios::model()->findByPk($usuario_id);

             }


             return $this->_model;

        }


		function getIdCustomer()

		{

		if (Yii::app()->user->id != 0)

		{

		$user = $this->loadUser(Yii::app()->user->id);

		$u = $user->tipo_usuarios_id;

		return $u;

		}

		else

		{

			$u = 0;

			return $u;

		}

		}       

		

?>



Al hacer esto debemos incluir la siguiente linea en el components del config/main y deberia quedar algo asi:




'components'=>array(

	'user'=>array(

		// enable cookie-based authentication

		'allowAutoLogin'=>true,

		'class' => 'WebUser',

	),



Despues configuraremos el tpl_navigator o donde tengan el menú de su aplicación en mi caso lo hice de la siguiente manera:




<?php if (Yii::app()->user->getIdCustomer() == 1) {?>

<div class="navbar navbar-inverse navbar-fixed-top">

	<div class="navbar-inner">

    <div class="container">

        <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">

            <span class="icon-bar"></span>

            <span class="icon-bar"></span>

            <span class="icon-bar"></span>

          </a>

     

          <!-- Be sure to leave the brand out there if you want it shown -->

          <a class="brand" href="#">SDC</a>


          <div class="nav-collapse">

			<?php $baseUrl = Yii::app()->theme->baseUrl; 

			$this->widget('zii.widgets.CMenu',array(

                    'htmlOptions'=>array('class'=>'pull-right nav'),

                    'submenuHtmlOptions'=>array('class'=>'dropdown-menu'),

					'itemCssClass'=>'item-test',

                    'encodeLabel'=>false,

					'items'=>array(

						array('label'=>'<img src="'.Yii::app()->theme->baseUrl.'/img/home.png" /> Inicio', 'url'=>array('/site/index')),

						

                        array('label'=>'<img src="'.Yii::app()->theme->baseUrl.'/img/people.png" /> Atencion Al Ciudadano <span class="caret"></span>', 'url'=>'#', 'itemOptions'=>array('class'=>'dropdown','tabindex'=>"-1"),'linkOptions'=>array('class'=>'dropdown-toggle','data-toggle'=>"dropdown"),

						'items'=>array(

						array('label'=>'Solicitantes', 'url'=>array('/Solicitantes/index')),

						array('label'=>'Solicitudes Sociales', 'url'=>array('/SolicitudesSocial/index')),

						array('label'=>'Comunidades', 'url'=>array('/Comunidades/index')),

						array('label'=>'Instituciones', 'url'=>array('/Instituciones/index')),

						array('label'=>'Solicitudes de Mercal', 'url'=>array('/SolicitudesMercal/index')),

						array('label'=>'Remisiones', 'url'=>array('/site/page')),

						)),

                        array('label'=>'<img src="'.Yii::app()->theme->baseUrl.'/img/help.png" /> Ayudas Sociales <span class="caret"></span>', 'url'=>'#', 'itemOptions'=>array('class'=>'dropdown','tabindex'=>"-1"),'linkOptions'=>array('class'=>'dropdown-toggle','data-toggle'=>"dropdown"),

						'items'=>array(

						array('label'=>'Solicitudes', 'url'=>array('/site/page')),

						array('label'=>'Aprobaciones', 'url'=>array('/site/page')),

						)),

						array('label'=>'<img src="'.Yii::app()->theme->baseUrl.'/img/m.png" /> Mercal <span class="caret"></span>', 'url'=>'#', 'itemOptions'=>array('class'=>'dropdown','tabindex'=>"-1"),'linkOptions'=>array('class'=>'dropdown-toggle','data-toggle'=>"dropdown"),

						'items'=>array(

						array('label'=>'Solicitudes', 'url'=>array('/site/page')),

						array('label'=>'Aprobaciones', 'url'=>array('/site/page')),

						)),

						array('label'=>'<img src="'.Yii::app()->theme->baseUrl.'/img/business.png" /> Despacho <span class="caret"></span>', 'url'=>'#', 'itemOptions'=>array('class'=>'dropdown','tabindex'=>"-1"),'linkOptions'=>array('class'=>'dropdown-toggle','data-toggle'=>"dropdown"),

						'items'=>array(

						array('label'=>'Remisiones', 'url'=>array('/site/page')),

						array('label'=>'Aprobaciones', 'url'=>array('/site/page')),

						)),

                        array('label'=>'<img src="'.Yii::app()->theme->baseUrl.'/img/human.png" /> Recursos Humanos <span class="caret"></span>', 'url'=>'#', 'itemOptions'=>array('class'=>'dropdown','tabindex'=>"-1"),'linkOptions'=>array('class'=>'dropdown-toggle','data-toggle'=>"dropdown"),

						'items'=>array(

						array('label'=>'Empleados', 'url'=>array('/empleados/index')),

						array('label'=>'Vacaciones', 'url'=>array('/vacaciones/index')),

						array('label'=>'Permisos', 'url'=>array('/site/page')),

						array('label'=>'Reposos', 'url'=>array('/site/page')),

						)),

						array('label'=>'<img src="'.Yii::app()->theme->baseUrl.'/img/gear.png" />', 'url'=>'#','itemOptions'=>array('class'=>'dropdown','tabindex'=>"-1"),'linkOptions'=>array('class'=>'dropdown-toggle','data-toggle'=>"dropdown"),

						

						'items'=>array(

						array('label'=>'Preferencias', 'url'=>array('usuarios/preference', 'id'=>Yii::app()->user->id)),

						)),

                        array('label'=>'Iniciar Sesion', 'url'=>array('/site/login'), 'visible'=>Yii::app()->user->isGuest),

                        array('label'=>'Cerrar Sesion ('.Yii::app()->user->name.')', 'url'=>array('/site/logout'), 'visible'=>!Yii::app()->user->isGuest),

                    ),

                )); ?>

        </div>

    </div>

	</div>

</div>


<?php } elseif(Yii::app()->user->getIdCustomer() == 2) {?>

<div class="navbar navbar-inverse navbar-fixed-top">

	<div class="navbar-inner">

    <div class="container">

        <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">

            <span class="icon-bar"></span>

            <span class="icon-bar"></span>

            <span class="icon-bar"></span>

          </a>

     

          <!-- Be sure to leave the brand out there if you want it shown -->

          <a class="brand" href="#">SDC</a>


          <div class="nav-collapse">

			<?php $this->widget('zii.widgets.CMenu',array(

                    'htmlOptions'=>array('class'=>'pull-right nav'),

                    'submenuHtmlOptions'=>array('class'=>'dropdown-menu'),

					'itemCssClass'=>'item-test',

                    'encodeLabel'=>false,

					'items'=>array(

                        array('label'=>'Inicio', 'url'=>array('/site/index')),

						

                        array('label'=>'Atencion Al Ciudadano <span class="caret"></span>', 'url'=>'#', 'itemOptions'=>array('class'=>'dropdown','tabindex'=>"-1"),'linkOptions'=>array('class'=>'dropdown-toggle','data-toggle'=>"dropdown"),

						'items'=>array(

						array('label'=>'Solicitantes', 'url'=>array('/Solicitantes/index')),

						array('label'=>'Solicitudes Sociales', 'url'=>array('/SolicitudesSocial/index')),

						array('label'=>'Comunidades', 'url'=>array('/Comunidades/index')),

						array('label'=>'Instituciones', 'url'=>array('/Instituciones/index')),

						array('label'=>'Solicitudes de Mercal', 'url'=>array('/SolicitudesMercal/index')),

						array('label'=>'Remisiones', 'url'=>array('/site/page')),

						)),

                        array('label'=>'Iniciar Sesion', 'url'=>array('/site/login'), 'visible'=>Yii::app()->user->isGuest),

                        array('label'=>'Cerrar Sesion ('.Yii::app()->user->name.')', 'url'=>array('/site/logout'), 'visible'=>!Yii::app()->user->isGuest),

                    ),

                )); ?>

        </div>

    </div>

	</div>

</div>


<?php } elseif(Yii::app()->user->getIdCustomer() == 3) {?>

<div class="navbar navbar-inverse navbar-fixed-top">

	<div class="navbar-inner">

    <div class="container">

        <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">

            <span class="icon-bar"></span>

            <span class="icon-bar"></span>

            <span class="icon-bar"></span>

          </a>

     

          <!-- Be sure to leave the brand out there if you want it shown -->

          <a class="brand" href="#">SDC</a>


          <div class="nav-collapse">

			<?php $this->widget('zii.widgets.CMenu',array(

                    'htmlOptions'=>array('class'=>'pull-right nav'),

                    'submenuHtmlOptions'=>array('class'=>'dropdown-menu'),

					'itemCssClass'=>'item-test',

                    'encodeLabel'=>false,

					'items'=>array(

                        array('label'=>'Inicio', 'url'=>array('/site/index')),

                        array('label'=>'Ayudas Sociales <span class="caret"></span>', 'url'=>'#', 'itemOptions'=>array('class'=>'dropdown','tabindex'=>"-1"),'linkOptions'=>array('class'=>'dropdown-toggle','data-toggle'=>"dropdown"),

						'items'=>array(

						array('label'=>'Solicitudes', 'url'=>array('/site/page')),

						array('label'=>'Aprobaciones', 'url'=>array('/site/page')),

						)),

						array('label'=>'<img src="'.Yii::app()->theme->baseUrl.'/img/gear.png" />', 'url'=>'#','itemOptions'=>array('class'=>'dropdown','tabindex'=>"-1"),'linkOptions'=>array('class'=>'dropdown-toggle','data-toggle'=>"dropdown"),

						

						'items'=>array(

						array('label'=>'', 'url'=>array('')),

						)),

                        array('label'=>'Iniciar Sesion', 'url'=>array('/site/login'), 'visible'=>Yii::app()->user->isGuest),

                        array('label'=>'Cerrar Sesion ('.Yii::app()->user->name.')', 'url'=>array('/site/logout'), 'visible'=>!Yii::app()->user->isGuest),

                    ),

                )); ?>

        </div>

    </div>

	</div>

</div>


<?php } elseif(Yii::app()->user->getIdCustomer() == 4) {?>

<div class="navbar navbar-inverse navbar-fixed-top">

	<div class="navbar-inner">

    <div class="container">

        <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">

            <span class="icon-bar"></span>

            <span class="icon-bar"></span>

            <span class="icon-bar"></span>

          </a>

     

          <!-- Be sure to leave the brand out there if you want it shown -->

          <a class="brand" href="#">SDC</a>


          <div class="nav-collapse">

			<?php $this->widget('zii.widgets.CMenu',array(

                    'htmlOptions'=>array('class'=>'pull-right nav'),

                    'submenuHtmlOptions'=>array('class'=>'dropdown-menu'),

					'itemCssClass'=>'item-test',

                    'encodeLabel'=>false,

					'items'=>array(

                        array('label'=>'Inicio', 'url'=>array('/site/index')),

						array('label'=>'Mercal <span class="caret"></span>', 'url'=>'#', 'itemOptions'=>array('class'=>'dropdown','tabindex'=>"-1"),'linkOptions'=>array('class'=>'dropdown-toggle','data-toggle'=>"dropdown"),

						'items'=>array(

						array('label'=>'Solicitudes', 'url'=>array('/site/page')),

						array('label'=>'Aprobaciones', 'url'=>array('/site/page')),

						)),

						array('label'=>'<img src="'.Yii::app()->theme->baseUrl.'/img/gear.png" />', 'url'=>'#','itemOptions'=>array('class'=>'dropdown','tabindex'=>"-1"),'linkOptions'=>array('class'=>'dropdown-toggle','data-toggle'=>"dropdown"),

						

						'items'=>array(

						array('label'=>'', 'url'=>array('')),

						)),

                        array('label'=>'Iniciar Sesion', 'url'=>array('/site/login'), 'visible'=>Yii::app()->user->isGuest),

                        array('label'=>'Cerrar Sesion ('.Yii::app()->user->name.')', 'url'=>array('/site/logout'), 'visible'=>!Yii::app()->user->isGuest),

                    ),

                )); ?>

        </div>

    </div>

	</div>

</div>


<?php } elseif(Yii::app()->user->getIdCustomer() == 5) {?>

<div class="navbar navbar-inverse navbar-fixed-top">

	<div class="navbar-inner">

    <div class="container">

        <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">

            <span class="icon-bar"></span>

            <span class="icon-bar"></span>

            <span class="icon-bar"></span>

          </a>

     

          <!-- Be sure to leave the brand out there if you want it shown -->

          <a class="brand" href="#">SDC</a>


          <div class="nav-collapse">

			<?php $this->widget('zii.widgets.CMenu',array(

                    'htmlOptions'=>array('class'=>'pull-right nav'),

                    'submenuHtmlOptions'=>array('class'=>'dropdown-menu'),

					'itemCssClass'=>'item-test',

                    'encodeLabel'=>false,

					'items'=>array(

                        array('label'=>'Inicio', 'url'=>array('/site/index')),

						array('label'=>'Despacho <span class="caret"></span>', 'url'=>'#', 'itemOptions'=>array('class'=>'dropdown','tabindex'=>"-1"),'linkOptions'=>array('class'=>'dropdown-toggle','data-toggle'=>"dropdown"),

						'items'=>array(

						array('label'=>'Remisiones', 'url'=>array('/site/page')),

						array('label'=>'Aprobaciones', 'url'=>array('/site/page')),

						)),

						array('label'=>'<img src="'.Yii::app()->theme->baseUrl.'/img/gear.png" />', 'url'=>'#','itemOptions'=>array('class'=>'dropdown','tabindex'=>"-1"),'linkOptions'=>array('class'=>'dropdown-toggle','data-toggle'=>"dropdown"),

						

						'items'=>array(

						array('label'=>'', 'url'=>array('')),

						)),

                        array('label'=>'Iniciar Sesion', 'url'=>array('/site/login'), 'visible'=>Yii::app()->user->isGuest),

                        array('label'=>'Cerrar Sesion ('.Yii::app()->user->name.')', 'url'=>array('/site/logout'), 'visible'=>!Yii::app()->user->isGuest),

                    ),

                )); ?>

        </div>

    </div>

	</div>

</div>


<?php } elseif(Yii::app()->user->getIdCustomer() == 6) {?>

<div class="navbar navbar-inverse navbar-fixed-top">

	<div class="navbar-inner">

    <div class="container">

        <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">

            <span class="icon-bar"></span>

            <span class="icon-bar"></span>

            <span class="icon-bar"></span>

          </a>

     

          <!-- Be sure to leave the brand out there if you want it shown -->

          <a class="brand" href="#">SDC</a>


          <div class="nav-collapse">

			<?php $this->widget('zii.widgets.CMenu',array(

                    'htmlOptions'=>array('class'=>'pull-right nav'),

                    'submenuHtmlOptions'=>array('class'=>'dropdown-menu'),

					'itemCssClass'=>'item-test',

                    'encodeLabel'=>false,

					'items'=>array(

                        array('label'=>'Inicio', 'url'=>array('/site/index')),

						array('label'=>'Recursos Humanos <span class="caret"></span>', 'url'=>'#', 'itemOptions'=>array('class'=>'dropdown','tabindex'=>"-1"),'linkOptions'=>array('class'=>'dropdown-toggle','data-toggle'=>"dropdown"),

						'items'=>array(

						array('label'=>'Empleados', 'url'=>array('/empleados/index')),

						array('label'=>'Vacaciones', 'url'=>array('/vacaciones/index')),

						array('label'=>'Permisos', 'url'=>array('/site/page')),

						array('label'=>'Reposos', 'url'=>array('/site/page')),

						)),

						array('label'=>'<img src="'.Yii::app()->theme->baseUrl.'/img/gear.png" />', 'url'=>'#','itemOptions'=>array('class'=>'dropdown','tabindex'=>"-1"),'linkOptions'=>array('class'=>'dropdown-toggle','data-toggle'=>"dropdown"),

						

						'items'=>array(

						array('label'=>'', 'url'=>array('')),

						)),

                        array('label'=>'Iniciar Sesion', 'url'=>array('/site/login'), 'visible'=>Yii::app()->user->isGuest),

                        array('label'=>'Cerrar Sesion ('.Yii::app()->user->name.')', 'url'=>array('/site/logout'), 'visible'=>!Yii::app()->user->isGuest),

                    ),

                )); ?>

        </div>

    </div>

	</div>

</div>


<?php } elseif (Yii::app()->user->getIdCustomer() == 0) {?>

<?php Yii::app()->user->logout(); ?>

<div class="navbar navbar-inverse navbar-fixed-top">

	<div class="navbar-inner">

    <div class="container">

        <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">

            <span class="icon-bar"></span>

            <span class="icon-bar"></span>

            <span class="icon-bar"></span>

          </a>

     

          <!-- Be sure to leave the brand out there if you want it shown -->

          <a class="brand" href="#">SDC</a>


          <div class="nav-collapse">

			

        </div>

    </div>

	</div>

</div>


<?php } ?>



Y así logre hacer que me muestre diferentes menu según el tipo de usuario que este activo en ese momento. Espero les sirva de algo.

Muchas Gracias!!!

Me sirvio mucho!!!