Hejho,
probuje stworzyc system logowania z podzialem na role i zasoby. Jednak utknalem na jakims banalnym bledzie i nie moge dojsc gdzie jest szkopul.
acl.php
<?php
class Acl
{
public function __construct()
{
$this->acl = new Zend_Acl();
$this->acl->addRole(new Zend_Acl_Role('guest'));
$this->acl->addRole(new Zend_Acl_Role('user'));
$this->acl->addRole(new Zend_Acl_Role('admin'));
$this->acl->add(new Zend_Acl_Resource('admin'));
$this->acl->add(new Zend_Acl_Resource('index'));
$this->acl->add(new Zend_Acl_Resource('user'));
$this->acl->allow('guest','user','login');
$this->acl->allow('guest','user','logout');
$this->acl->allow('guest','index','index');
$this->acl->deny('guest','admin');
$this->acl->allow('admin');
}
}
accessCheck.php
<?php
class App_Plugin_AccessCheck extends Zend_Controller_Plugin_Abstract
{
public function preDispatch( Zend_Controller_Request_Abstract $request )
{
if(!Zend_Auth::getInstance()->hasIdentity())
{
$role = 'guest';
}
else
{
$auth = Zend_Auth::getInstance();
$identity = $auth->getIdentity()->role;
$role = $identity;
}
$resource = $request->getControllerName();
$action = $request->getActionName();
$acl = new Model_Acl();
if(!$acl->isAllowed($role,$resource,$action)){
Zend_Debug::dump($role);
Zend_Debug::dump($resource);
Zend_Debug::dump($action);
$request->setControllerName('Error');
$request->setActionName('priviliges');
}
}
}
problem polega na tym ze w nie mozna sie zalogowac bo zrzuca na Controller Error i Action Priviliges