/**
  * Declare headers and content file in response for file download
  *
  * @param string $fileName
  * @param string|array $content set to null to avoid starting output, $contentLength should be set explicitly in
  * that case
  * @param string $baseDir
  * @param string $contentType
  * @param int $contentLength    explicit content length, if strlen($content) isn't applicable
  * @return \Magento\Framework\App\ResponseInterface
  */
 public function create($fileName, $content, $baseDir = DirectoryList::ROOT, $contentType = 'application/octet-stream', $contentLength = null)
 {
     if ($this->_auth->getAuthStorage()->isFirstPageAfterLogin()) {
         return $this->_redirect($this->_backendUrl->getStartupPageUrl());
     }
     return parent::create($fileName, $content, $baseDir, $contentType, $contentLength);
 }
Beispiel #2
0
 /**
  * Performs user login
  */
 protected function _login()
 {
     \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\\Backend\\Model\\UrlInterface')->turnOffSecretKey();
     $this->_auth = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\\Backend\\Model\\Auth');
     $this->_auth->login(\Magento\TestFramework\Bootstrap::ADMIN_NAME, \Magento\TestFramework\Bootstrap::ADMIN_PASSWORD);
     $this->_session = $this->_auth->getAuthStorage();
 }
Beispiel #3
0
 /**
  * @magentoAppIsolation enabled
  */
 public function testLogout()
 {
     $this->_model->login(\Magento\TestFramework\Bootstrap::ADMIN_NAME, \Magento\TestFramework\Bootstrap::ADMIN_PASSWORD);
     $this->assertNotEmpty($this->_model->getAuthStorage()->getData());
     $this->_model->logout();
     $this->assertEmpty($this->_model->getAuthStorage()->getData());
 }
 protected function tearDown()
 {
     $this->_auth->getAuthStorage()->destroy(['send_expire_cookie' => false]);
     $this->_auth = null;
     $this->_session = null;
     $this->_objectManager->get('Magento\\Backend\\Model\\UrlInterface')->turnOnSecretKey();
     parent::tearDown();
 }
Beispiel #5
0
 /**
  * Disabled form security in order to prevent exit from the app
  * @magentoConfigFixture current_store admin/security/session_lifetime 59
  */
 public function testIsLoggedInWithIgnoredLifetime()
 {
     $this->_model->login(\Magento\TestFramework\Bootstrap::ADMIN_NAME, \Magento\TestFramework\Bootstrap::ADMIN_PASSWORD);
     $this->assertTrue($this->_model->isLoggedIn());
     $this->_model->getAuthStorage()->setUpdatedAt(time() - 101);
     $this->assertTrue($this->_model->isLoggedIn());
 }
 /**
  * @param \Magento\Backend\App\AbstractAction $subject
  * @param callable $proceed
  * @param \Magento\Framework\App\RequestInterface $request
  *
  * @return mixed
  * @SuppressWarnings(PHPMD.UnusedFormalParameter)
  */
 public function aroundDispatch(\Magento\Backend\App\AbstractAction $subject, \Closure $proceed, \Magento\Framework\App\RequestInterface $request)
 {
     $requestedActionName = $request->getActionName();
     if (in_array($requestedActionName, $this->_openActions)) {
         $request->setDispatched(true);
     } else {
         if ($this->_auth->getUser()) {
             $this->_auth->getUser()->reload();
         }
         if (!$this->_auth->isLoggedIn()) {
             $this->_processNotLoggedInUser($request);
         } else {
             $this->_auth->getAuthStorage()->prolong();
             $backendApp = null;
             if ($request->getParam('app')) {
                 $backendApp = $this->backendAppList->getCurrentApp();
             }
             if ($backendApp) {
                 $resultRedirect = $this->resultRedirectFactory->create();
                 $baseUrl = \Magento\Framework\App\Request\Http::getUrlNoScript($this->backendUrl->getBaseUrl());
                 $baseUrl = $baseUrl . $backendApp->getStartupPage();
                 return $resultRedirect->setUrl($baseUrl);
             }
         }
     }
     $this->_auth->getAuthStorage()->refreshAcl();
     return $proceed($request);
 }
 /**
  * @param \Magento\Backend\App\AbstractAction $subject
  * @param callable $proceed
  * @param \Magento\Framework\App\RequestInterface $request
  *
  * @return mixed
  * @SuppressWarnings(PHPMD.UnusedFormalParameter)
  */
 public function aroundDispatch(\Magento\Backend\App\AbstractAction $subject, \Closure $proceed, \Magento\Framework\App\RequestInterface $request)
 {
     $requestedActionName = $request->getActionName();
     if (in_array($requestedActionName, $this->_openActions)) {
         $request->setDispatched(true);
     } else {
         if ($this->_auth->getUser()) {
             $this->_auth->getUser()->reload();
         }
         if (!$this->_auth->isLoggedIn()) {
             $this->_processNotLoggedInUser($request);
         } else {
             $this->_auth->getAuthStorage()->prolong();
         }
     }
     $this->_auth->getAuthStorage()->refreshAcl();
     return $proceed($request);
 }
 /**
  * {@inheritdoc}
  */
 public function getAuthStorage()
 {
     $pluginInfo = $this->pluginList->getNext($this->subjectType, 'getAuthStorage');
     if (!$pluginInfo) {
         return parent::getAuthStorage();
     } else {
         return $this->___callPlugins('getAuthStorage', func_get_args(), $pluginInfo);
     }
 }