[color="#0000FF"]Olá Pessoal,[/color]
[color="#696969"]>>> [/color][color="#0000FF"]Estou fazendo uma rotina de permissão de acesso, e agora quero ocultar ou mostrar link ou menu conforme a permissão do usuário. [/color]
[color="#696969"]>>> [/color][color="#0000FF"]No controller chamo o arquivo de permissões:[/color]
[color="#FF0000"]UsuarioController.php[/color]
public function accessRules()
{
// Define o codigo da área e chama a classe de Permissões
$Area='CAD000001';
return require("/../models/Permissoes.php");
}
[color="#696969"]>>> [/color][color="#0000FF"]Este é meu arquivo de Permissões:[/color]
[color="#FF0000"]Permissoes.php[/color]
<?php
foreach ( Yii::app()->user->getState('BuscaPermissao') as $Regra ) {
if ( $Regra['Area'] == $Area ) {
break;
}
}
if ( $Regra['Area'] == $Area ) {
// Variavel de permissão para visualizar
if ($Regra['Visualizar'] =='S'){
$RegraLista="";
$RegraVisualizar="";
$RegraPesquisar="";
}else{
$RegraLista="index";
$RegraVisualizar="view";
$RegraPesquisar="admin";
}
// Variavel de permissão para iserir
if ($Regra['Inserir'] =='S'){
$RegraInserir="";
}else{
$RegraInserir="create";
}
// Variavel de permissão para alterar
if ($Regra['Alterar'] =='S'){
$RegraAlterar="";
}else{
$RegraAlterar="update";
}
// Variavel de permissão para apagar
if ($Regra['Apagar'] =='S'){
$RegraApagar="";
}else{
$RegraApagar="delete";
}
$Regras = array();
$Regras[] =
array('deny','actions'=>array($RegraLista,$RegraVisualizar,$RegraPesquisar,$RegraVisualizar,$RegraInserir,$RegraAlterar,$RegraApagar),
'users'=>array('*'),);
return $Regras;
}else{
// Informa ao usuario que ele não tem permissão para executar a ação.
throw new CHttpException(403,Yii::t('yii','You are not authorized to perform this action.'));
}
>?
[color="#696969"]>>> [/color][color="#0000FF"]Até aí acho que vai… Mas como eu faço para ocultar os links e menus que os usuários não tem acesso? Queria fazer algo do tipo abaixo na view:
$this->menu=array(
if ($RegraInserir=='S'){
array('label'=>'Adicionar Novo', 'url'=>array('create')),
}
);
Desde já obrigado pela ajuda.[/color]
…