Login Usuário E Administrador

Sou iniciante em Yii, tenho uma dúvida em relação ao login para um sistema básico de biblioteca.

Eu deveria criar 2 módulos separados um para usuário outro para o administrador?

Ou usuário e administrador irão logar, e usando algum tipo de autorização só irão ter acesso as páginas

disponíveis para os mesmos?

No caso da segunda alternativa, oque devo usar para diferencia usuário de administrador ?

Grata por quem ajudar !!! ;)

Bia,

A aplicação padrão, você pode usar a autorização e autenticação do usuário, e criar um módulo somente para administração.

Esse link abaixo, ensina a criar sua primeira aplicação, mais ele não cria módulos, somente um gerenciamento simples com autorização e autenticação.

http://www.yiiframework.com/doc/guide/1.1/pt_br/quickstart.first-app

E logo abaixo tem o link do conceito básico de criação de módulo.

http://www.yiiframework.com/doc/guide/1.1/pt_br/basics.module

Para os usuários comuns usei Autenticação e Autorização está funcionando normalmente,

os usuários tem acesso ao create e ao List do menu,só na parte do manage(administração)

que não tem acesso. Minha dúvida é o seguinte como vou definir quem é o administrador

pra que ele consiga ter acesso ao manage?

Obrigada Att. ;)

Bia, se quiseres algo simples, podes no momento da autenticação, definir se o usuário que está se autenticando é usuário ou administrador, armazenando um dado na seção.




// Exemplo

Yii::app()->user->setState('type', 'A'); // Quando for Administrador

Yii::app()->user->setState('type', 'U'); // Quando for Usuário



E então, antes de executar alguma ação que apenas um dos tipos de usuários podem executar, você faz…




if(Yii::app()->user->getState('type') === 'A') {

// Executa ação de Administrador

} else {

// Estoura uma exceção

}



Querendo algo mais profissional, podes fazer o controle de acesso do seu site, através da extensão Yii Rights ou Yii SRBAC.

fiz assim na tabela usuário criei uma coluna perfil

lá no main do meu site :

$admin = (isset(Yii::app()->user->perfil) and Yii::app()->user->perfil == ‘ADMIN’) ? true : false ;

e depois escolho oque é visível para meu admin : array(‘label’=>‘Materiais’,‘url’=>array(’/material/create’),‘visible’ => $admin),

Lembrando que não basta deixar as opções visíveis para do ADMIN apenas para ele, é necessário realizar algum tratamento nas ações do mesmo para verificar a sua autenticidade, uma vez que um usuário qualquer poderia tentar acessar a ação alterando a URL.