/**
  * Carrega a autenticação do usuario de acordo com o retorno da validação do certificado
  * 
  * @param string $sLoginUsuario
  * @throws Exception
  * @return boolean
  */
 public function autenticaUsuario($sLoginUsuario)
 {
     try {
         $oEntityManager = Zend_Registry::get('em');
         $oAuthAdapter = new Doctrine_Auth_Adapter($oEntityManager, 'Administrativo\\Usuario', 'login', 'senha');
         $oAuthAdapter->setIdentity($sLoginUsuario);
         $oAuthAdapter->setCredential('');
         $oAuth = Zend_Auth::getInstance();
         $iStatus = $oAuth->authenticate($oAuthAdapter)->getCode();
         if (in_array($iStatus, array(1, -3))) {
             $sLogin = $oAuth->getIdentity();
             $oUser = Administrativo_Model_Usuario::getByAttribute('login', $sLoginUsuario);
             if ($oUser && $oUser->getHabilitado()) {
                 Zend_Auth::getInstance()->getStorage()->write(array('id' => $oUser->getId(), 'login' => $sLoginUsuario));
             } else {
                 $this->oModeloImportacao->setMensagemErro('E157', 'Usuário não habilitado');
             }
         } else {
             $this->oModeloImportacao->setMensagemErro('E157', 'Usuário Inválido');
         }
         /**
          * Verifica se ocorreu algum erro no processamentos dos dados na importacao
          */
         if ($this->oModeloImportacao->getErro()) {
             return $this->oModeloImportacao->processaErroWebService(NULL);
         }
         /**
          * Reecreve os dados e permissões de sessão na ACL
          */
         new DBSeller_Acl_Setup(TRUE);
         /**
          * Verifica a permissão de execução da ação conforme liberação do usuário
          */
         $sAmbiente = Zend_Controller_Front::getInstance()->getRequest()->getActionName();
         if (!DBSeller_Plugin_Auth::checkPermission("webservice/{$sAmbiente}/recepcionar-lote-rps")) {
             return FALSE;
         }
         return TRUE;
     } catch (Exception $oErro) {
         throw new Exception($oErro->getMessage(), $oErro->getCode());
     }
 }