Skip to content

Instantly share code, notes, and snippets.

@eminetto
Created December 9, 2011 01:56
Show Gist options
  • Save eminetto/1449759 to your computer and use it in GitHub Desktop.
Save eminetto/1449759 to your computer and use it in GitHub Desktop.
Blog_Controller_Action
<?php
class Blog_Controller_Action extends Zend_Controller_Action
{
public function init()
{
$session = Zend_Registry::get('session');
//verifica ACL
if(Zend_Registry::isRegistered('acl')) {
$request = $this->getRequest();
//pega o nome do modulo, controlador e action
$controller = $request->getControllerName();
$action = $request->getActionName();
//monta o nome do resource e do privilege. exemplo: default_index
$resource = $controller;
$privilege = $action;
$auth = Zend_Auth::getInstance();
//se o usuário fez login usa a role que está na sessão
if($auth->hasIdentity()) {
$role = $session->role;
}
else {
$role = 'visitante';
}
//faz a verificação da permissão
$acl = Zend_Registry::get('acl');
if(!$acl->isAllowed($role, $resource, $privilege)) {
$session->erro = 'ACL inválida';
$this->_redirect('/');
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment