Autenticação de Usuários
Zend\Permissions\Acl\Acl
Métodos Importantes
addRole(Zend\Permissions\Acl\Role\GenericRole)
|
Adiciona papéis de usuários (Administrador, Moderador, Comum…)
addResource(Zend\Permissions\Acl\Resource\GenericResource)
|
Adiciona recursos do seu projeto (contato, cliente, usuario)
allow(Zend\Permissions\Acl\Role\GenericRole,Zend\Permissions\Acl\Resource\GenericResource, String)
|
Insere permissão de um papel à um recurso, por exemplo, allow(‘Administrador’, ‘Contato’, ‘Deletar’) ou allow(‘Comum’, ‘Cliente’, ‘Inserir’);
isAllowed(Zend\Permissions\Acl\Role\GenericRole,Zend\Permissions\Acl\Resource\GenericResource, String)
|
Verifica se um papel tem em um recurso uma permissão específica. Se fizéssemos isAllowed(‘Administrador’, ‘Contato’, ‘Deletar’) ele retornaria verdadeiro no nosso caso.
Zend\Navigation
Métodos Importantes
\Zend\View\Helper\Navigation::setDefaultAcl(Zend\Permissions\Acl\Acl);
|
Adiciona um objeto Acl já com papéis, recursos e permissões adicionadas. Esse objeto será usado para exibir ou não itens do menu.
\Zend\View\Helper\Navigation::setDefaultRole(Zend\Permissions\Acl\Role\GenericRole);
|
Insere o papel de quem está logado. Se o usuário logado for um administrador, então passamos esse valor para esse método e o Navigation irá consultar o objeto Acl que passamos se quais permissões ele possui.
module.config.php
‘service_manager’ =>array(
‘factories’ =>array(
‘navigation’ => ‘Zend\Navigation\Service\DefaultNavigationFactory’,
),
),
‘navigation’ =>array(
‘default’ =>array(
array(
‘label’ => ‘My Account’,
‘route’ => ‘access-account-perfil’,
‘controller’ => ‘account’,
‘action’ => ‘perfil’,
‘resource’ => ‘ACCOUNT’,
‘privilege’ => ‘PERFIL’,
‘visible’ =>true,
‘pages’ =>array(
array(
‘label’ => ‘Edit My Account’,
‘route’ => ‘access-account-edit’,
‘controller’ => ‘account’,
‘action’ => ‘edit’,
‘resource’ => ‘ACCOUNT’,
‘privilege’ => ‘EDIT’,
‘visible’ =>false,
),
array(
‘label’ => ‘Change Password’,
‘route’ => ‘access-accountpassword-edit’,
‘controller’ => ‘account’,
‘action’ => ‘editpassword’,
‘resource’ => ‘ACCOUNT’,
‘privilege’ => ‘EDITPASSWORD’,
‘visible’ =>false,
),
)
),
array(
‘label’ => ‘Log out’,
‘route’ => ‘access-logout’,
‘controller’ => ‘auth’,
‘action’ => ‘logout’,
‘resource’ => ‘AUTH’,
‘privilege’ => ‘LOGOUT’,
‘visible’ =>true,
),
),
),
|