/** * Ensures that setFile() works as expected for invalid input * * @return void */ public function testSetFileInvalid() { try { $this->_resolver->setFile($this->_badPath); $this->fail('Accepted bad path'); } catch (Zend_Auth_Adapter_Http_Resolver_Exception $e) { $this->assertContains('Path not readable', $e->getMessage()); } }
/** * authenticates request * * @access protected */ protected function _authorize() { $config = array('accept_schemes' => 'basic', 'realm' => 'trade-capture'); $adapter = new Zend_Auth_Adapter_Http($config); $options = $this->_getConfigOptions(); $basic_resolver_file = $options['auth']['file']['basic']; $basic_resolver = new Zend_Auth_Adapter_Http_Resolver_File(); $basic_resolver->setFile($basic_resolver_file); $request = $this->getRequest(); $response = $this->getResponse(); $adapter->setBasicResolver($basic_resolver); $adapter->setRequest($request); $adapter->setResponse($response); $result = $adapter->authenticate(); if (!$result->isValid()) { $request->setActionName('unauth'); } }
/** * Ensures that setFile() works as expected for invalid input * * @return void */ public function testSetFileInvalid() { $this->setExpectedException('Zend\\Authentication\\Adapter\\Http\\Exception\\ExceptionInterface', 'Path not readable'); $this->_resolver->setFile($this->_badPath); }
/** * Implements HTTP Basic auth */ public function preDispatch() { parent::preDispatch(); $action = strtolower($this->getRequest()->getActionName()); if (in_array($action, $this->authActions)) { $auth = \Zend_Auth::getInstance(); $this->auth = $auth; if (!$auth->hasIdentity()) { $config = array('accept_schemes' => 'basic', 'realm' => GEMS_PROJECT_NAME, 'nonce_timeout' => 3600); $adapter = new \Zend_Auth_Adapter_Http($config); $basicResolver = new \Zend_Auth_Adapter_Http_Resolver_File(); //This is a basic resolver, use username:realm:password //@@TODO: move to a better db stored authentication system $basicResolver->setFile(GEMS_ROOT_DIR . '/var/settings/pwd.txt'); $adapter->setBasicResolver($basicResolver); $request = $this->getRequest(); $response = $this->getResponse(); assert($request instanceof \Zend_Controller_Request_Http); assert($response instanceof \Zend_Controller_Response_Http); $adapter->setRequest($request); $adapter->setResponse($response); $result = $auth->authenticate($adapter); if (!$result->isValid()) { $adapter->getResponse()->sendResponse(); print 'Unauthorized'; exit; } } } }