zend 1.12 Я получаю нулевое значение при создании экземпляра Zend Auth

class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{

protected function _initAutoload()
{

$modelLoader =  new Zend_Application_Module_Autoloader(
array(
"namespace" => "",
"basePath"  => APPLICATION_PATH
)
);

$acl = new Model_LibraryAcl();
$auth = Zend_Auth::getInstance();

$oFc = Zend_Controller_Front::getInstance();
$oFc->registerPlugin(new Plugin_AccessCheck($acl,$auth));

return $modelLoader;

}

protected function _initAppModules(){

$this->bootstrap("frontController");
$front = $this->getResource("frontController");

$front->addModuleDirectory(APPLICATION_PATH . '/modules');
}

}

Выше приведен пример кода моей начальной загрузки. Я пытаюсь реализовать Acl для аутентификации, но при попытке сделать это я получаю сообщение об ошибке.

Попытка получить свойство необъекта в C: \ web \ edgarTry \ application \ plugins \ AccessCheck.php в строке 23

ниже приведен код AccessCheck

class Plugin_AccessCheck extends Zend_Controller_Plugin_Abstract
{

private $_acl = null;
private $_auth = null;

public function __construct(Zend_Acl $acl,Zend_Auth $auth ){

$this->_acl = $acl;
$this->_auth = $auth;

}

public function preDispatch(Zend_Controller_Request_Abstract $request)
{

$resource = $request->getControllerName();
$action = $request->getActionName();

$oIdentity = $this->_auth->getStorage()->read();

$role = $oIdentity->role;

if(! $this->_acl->isAllowed($role,$resource,$action)){

$request->setControllerName("authentication")
->setActionName("login");

}
}

}

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]