I have a problem … my application has five roles to access …
When I login I need to recognize the role of those who login and using this to show a different menu based on the initial roles …
I create a function in class UserIdentity??
Help me…
I have a problem … my application has five roles to access …
When I login I need to recognize the role of those who login and using this to show a different menu based on the initial roles …
I create a function in class UserIdentity??
Help me…
For recognize the role you can use checkAcces().
In your menu you can write something like:
$user=Yii::app()->user();
if ($user->checkAccess('role1'))
$items1=>array(),
in practice, you can build a different array according to your permissions.
CMenu has a ‘visible’ property that lets you determine whether a menu item will be shown. Here’s how the default generated webapp handles it for login/logout situations, you can do your visibility tests with checkAccess() as zaccaria mentioned.
<?php $this->widget('zii.widgets.CMenu',array(
'items'=>array(
array('label'=>'Login', 'url'=>array('/site/login'), 'visible'=>Yii::app()->user->isGuest),
array('label'=>'Logout ('.Yii::app()->user->name.')', 'url'=>array('/site/logout'), 'visible'=>!Yii::app()->user->isGuest)
),
)); ?>