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