/** * 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); }
/** * 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(); }
/** * @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(); }
/** * 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); } }