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;
                }
            }
        }
    }
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;
                }
            }
        }
    }
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 ; } } } }
Implements HTTP Basic auth
Implements HTTP Basic auth