Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou tentando arrumar um problema com o ZEND_ACL ainda... então tentei montar uma "whitelist" onde deixo os controladores que eu não quero bloquear de fora... mas recebo este erro:
Warning: in_array() expects parameter 2 to be array, null given in /Users/luizfernandolidio/Sites/Anisteki/library/Aplicacao/Plugin/Auth.php on line 43
Warning: in_array() expects parameter 2 to be array, null given in /Users/luizfernandolidio/Sites/Anisteki/library/Aplicacao/Plugin/Auth.php on line 43
Fatal error: Uncaught exception 'Zend_Session_Exception' with message 'Session must be started before any output has been sent to the browser; output started in /Users/luizfernandolidio/Sites/Anisteki/library/Aplicacao/Plugin/Auth.php/43' in /Users/luizfernandolidio/Sites/Anisteki/library/Zend/Session.php:443 Stack trace: #0 /Users/luizfernandolidio/Sites/Anisteki/library/Zend/Session/Namespace.php(143): Zend_Session::start(true) #1 /Users/luizfernandolidio/Sites/Anisteki/library/Zend/Auth/Storage/Session.php(87): Zend_Session_Namespace->__construct('Zend_Auth') #2 /Users/luizfernandolidio/Sites/Anisteki/library/Zend/Auth.php(91): Zend_Auth_Storage_Session->__construct() #3 /Users/luizfernandolidio/Sites/Anisteki/library/Zend/Auth.php(141): Zend_Auth->getStorage() #4 /Users/luizfernandolidio/Sites/Anisteki/library/Aplicacao/Plugin/Auth.php(46): Zend_Auth->hasIdentity() #5 /Users/luizfernandolidio/Sites/Anisteki/library/Zend/Controller/Plugin/Broker.php(309): Aplicacao_Plugin_Auth->preDispatch(Object(Zend_Controller_Reques in /Users/luizfernandolidio/Sites/Anisteki/library/Zend/Controller/Plugin/Broker.php on line 312
Alguem sabe como resolver?
Meu codigo:
protected $_whiteList = array('index', 'trabalhos', 'contato');
public function preDispatch(Zend_Controller_Request_Abstract $request)
{
$controller = "";
$action = "";
$module = "";
//Se o controller estiver na lista que não necessita de login, não
faz nada
if (in_array($request->getControllerName(), $this->_whitelist))
return;
//A partir daqui, todos os controladores necessitam de um usuário
autenticado
if ( !$this->_auth->hasIdentity() ) {
$controller = $this->_notLoggedRoute['controller'];
$action = $this->_notLoggedRoute['action'];
$module = $this->_notLoggedRoute['module'];
} else if ( !$this->_isAuthorized($request->getControllerName(),
$request->getActionName()) ) {
$controller = $this->_forbiddenRoute['controller'];
$action = $this->_forbiddenRoute['action'];
$module = $this->_forbiddenRoute['module'];
} else {
$controller = $request->getControllerName();
$action = $request->getActionName();
$module = $request->getModuleName();
}
$request->setControllerName($controller);
$request->setActionName($action);
$request->setModuleName($module);
}
Linha com erro seria esta:
if (in_array($request->getControllerName(), $this->_whitelist))
return;
OBS: Ja tentei startar o ZEND_SESSION no meu bootstrap
protected function _initSessions() { Zend_Session::start(); }
Mas o problema continua...
Alguem tem alguma ideia?
Carregando comentários...