Hi, I'm starting to learn the Zend FM. I'm making some tutorials for 1.8 (i'm
using 1.9).
I stuck on error: Notice: Undefined property:
Zend_Auth_Storage_Session::$read in
C:\wamp\www\dziury\application\plugins\AccessCheck.php on line 18
Notice: Trying to get property of non-object in
C:\wamp\www\dziury\application\plugins\AccessCheck.php on line 19
My files:
Bootstrap.php:
<?php
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; // obiekt modelu do ACL potrzebny
do
przekazania do pluginu
$auth = Zend_Auth::getInstance(); // obiekt modelu do AUTH
potrzebny do
przekazania do pluginu
$fc = Zend_Controller_Front::getInstance(); // instancja -
umożliwia
ładowanie pluginów
$fc->registerPlugin( new Plugin_AccessCheck($acl, $auth) ); //
rejestruje
plugin. Przekazać 2 zmienne potrzebne do sprawdzenia
return $modelLoader;
}
}
plugins/AccessCheck.php:
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 )
// musimy poznać jaki aktualnie jest kontroler. Robimy to dzięki
Zend_Controller_Request_Abstract i przypisujemy do zmiennej $request
{
$resource = $request->getControllerName(); // nazwa kontrolera
$action = $request->getActionName(); // akcja
$identity = $this->_auth->getStorage()->read; // pobieramy i
odczytujemy dane z Auth odnośnie informacji o userze
$role = $identity->role; // pobranie roli. role to nazwa pola z bazy
if( !$this->_acl->isAllowed($role, $resource, $action) ) //
sprawdzenie zgodności z warunkami w modelu acl
{
$request->setControllerName('authentication') // ustawienie
nazwy kontrolera
->setActionName('login'); // ustawienie nazwy akcji
}
}
}
How to fix that?
--
View this message in context:
http://www.nabble.com/newbie-Auth-problem-tp25802961p25802961.html
Sent from the Zend Framework mailing list archive at Nabble.com.