Bom, vou postar aqui as tabelas que uso, e o erro que ocorre, assim fica mais fácil, vocês saberem o que ocorre.
Vamos la.
table ‘usuario’
(
`codusuario` int(<img src='http://www.yiiframework.com/forum/public/style_emoticons/default/cool.gif' class='bbc_emoticon' alt='8)' /> NOT NULL auto_increment,
`codusuariocargo` int(<img src='http://www.yiiframework.com/forum/public/style_emoticons/default/cool.gif' class='bbc_emoticon' alt='8)' /> NOT NULL,
`nome` varchar(60) NOT NULL,
`sobrenome` varchar(120) NOT NULL,
`usuario` varchar(120) NOT NULL,
`senha` varchar(40) NOT NULL,
`email` varchar(120) NOT NULL,
`liberar` int(1) NOT NULL,
`datacriacao` datetime NOT NULL,
`acesso` datetime NOT NULL,
`ultimoacesso` datetime NOT NULL,
`contaracesso` int(11) NOT NULL,
`acessonicio` time NOT NULL,
`acessofim` time NOT NULL,
`ativarsenha` int(1) NOT NULL,
`codtema` int(<img src='http://www.yiiframework.com/forum/public/style_emoticons/default/cool.gif' class='bbc_emoticon' alt='8)' /> NOT NULL,
PRIMARY KEY (`codusuario`)
);
table ‘usuariocargo’
`usuariocargo` (
`codusuariocargo` int(<img src='http://www.yiiframework.com/forum/public/style_emoticons/default/cool.gif' class='bbc_emoticon' alt='8)' /> NOT NULL,
`titulo` varchar(120) NOT NULL,
`permissao` text NOT NULL,
PRIMARY KEY (`codusuariocargo`)
)
Essa tabela ‘usuariocargo’, e onde eu seto as permissões das controllers e actions, vou mostrar o print da tela no admin.


Após criar os cargo dos usuários, eu vou na página de usuário, e seto o cargo do usuário.

Essa tela mostra o erro que dá, quando um representante autentica no site, e tenta acessar o admin.

Meu ‘accessRules()’ do componentes/Controller.php
public function accessRules() {
$aRules = array();
if( isset(Yii::app()->user->codusuario) && Yii::app()->user->codusuario <> '') {
$cod = Usuario::model()->find('codusuario = ?', Yii::app()->user->getId());
if($cod->codusuariocargo <> 1) {
$group = UsuarioCargo::model()->find('codusuariocargo = ?', $cod->codusuariocargo);
$permissao = json_decode('['.$group->permissao.']');
foreach($permissao as $key => $value) {
$controllers = explode(',', $value->controllers);
if($value->controllers == '') {
$controllers = array('');
}
$actions = explode(',', $value->actions);
if($value->actions == '') {
$actions = array('index', 'view', 'create', 'update', 'delete', 'admin');
}
$rule = array('allow',
'controllers' => $controllers,
'actions' => $actions,
'users' => array(Yii::app()->user->usuario)
);
array_push($aRules, $rule);
}
} else {
array_push($aRules,
array('allow', // allow all users to perform 'index' and 'view' actions
'users'=>array(Yii::app()->user->usuario),
)
);
}
}
array_push($aRules,
array('allow', // allow all users to perform 'index' and 'view' actions
'actions'=>array('login', 'logout'),
'users'=>array('*'),
),
array('deny',
'users'=>array('*'),
)
);
return $aRules;
}
Eu gostaria de separar as autenticação do módulo admin, por que quando eu logo na administração com o usuário ‘newerton’, no fron-end, aparece como ‘newerton’ logado, não quero isso, no site só vai logar os representantes, não quero o usuário da administração logado no front-end, e assim vice e versa.
Agradeço a coomprensão de todos.