Tutorial ZF2 + Doctrine + ZfcUser + Los – Parte 5


Hoje vamos ver todo o sistema que preparamos nos posts anteriores em funcionamento.

No post anterior, nós definimos as permissões no sistema de forma que as telas de cadastro não possam ser vistas por quem não esteja logado no sistema nem por quem não tem a devida permissão.

Então vamos testar a configuração acessando diretamente a rota de cadastro de clientes:

http://tutorial.local/cliente/list

login

Fomos redirecionados para a tela de login. Vamos ver o porquê.

No module/Application/src/Application/Module.php, na linha 37, ativamos a estratégia de redirecionamento do ZfcRbac:

E no config/autoload/zfcrbac.config.php, definimos que quando alguém não logado tentar acessar uma página protegida (por rota ou controller), será redirecionado para a tela de login:

Então para usarmos nosso sistema precisamos logar primeiro. Mas qual usuário usamos? O sistema acabou de ser criado …

Para resolver isso, criei um comando console no module/Usuario/src/Usuario/Controller/ConsoleController.php para criar usuário pela linha de comando.

Vamos digitar o comando abaixo (utilize seus dados na criação do usuário e certifique-se que escolheu a permissão admin):

Pronto, nosso primeiro usuário está criado e podemos logar no sistema.

dashboard

Acessar o menu, cadastro de usuário e cliente:

clientes

Vamos fazer uma pequena alteração no nosso arquivo config/autoload/zfcrbac.config.php e acrescentar uma linha:

Definimos que para acessar a rota cliente/edit, é necessário ter o papel “super”. Vamos tentar acessar a tela de edição de um cliente:

403

Como nosso usuário possui apenas o papel “admin”, não temos mais permissão de acessar a página. Fácil limitarmos o acesso às páginas importantes no nosso sistema não é? (PS: Não esqueça de retirar a linha para continuar a testar o sistema).

Um bom exercício é criar novas rotas, alterar as existentes, alterar as permissões, para entendermos melhor o funcionamento de cada parte.

Conclusão

O LosSkeletonApplication é uma ótima base para quem está iniciando, pois já vem com os principais recursos que utilizamos no dia-a-dia.

Semana passada, tive o prazer de ministrar um mini-curso de ZF2 na TICNOVA em Maringá, gostei muito da experiência e os participantes também. Então estou programando algo novo em breve, aguardem …

Referência:

Parte 1: Instalação e configuração

Parte 2: Banco de dados (Doctrine)

Parte 3: Visual e Layout (LosUi)

Parte 4: Autenticação e Autorização (ZfcUser e ZfcRbac)

Parte 5: Usando o sistema

Abraços e até a próxima!

Leandro Silva

PHP developer since 1997, loves movies, music and dogs.

5 Comentários para: “Tutorial ZF2 + Doctrine + ZfcUser + Los – Parte 5

  1. Boa tarde Leandro estava acompanhando seu tuto e estou me deparando um um erro no navigation, ouve alguma alteração nas configurações do zend?

    segue mensagem após alterar o layout.phtml

    Fatal error: Uncaught exception ‘Zend\ServiceManager\Exception\ServiceNotFoundException’ with message ‘Zend\View\Helper\Navigation\PluginManager::get was unable to fetch or create an instance for Navigation’ in

    • Olá Geovane! Alguns dos módulos ainda não são compatíveis com as versões mais recentes da framework (em especial maiores que a 2.6 que já são com compatibilidade com a ZF3). O ideal é fixar no composer.json o zendframework 2.4 por enquanto mesmo.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

*