/** * Gets setup application URL * * @return string */ public function getUrl() { if (isset($this->server[self::PARAM_NOT_INSTALLED_URL])) { return $this->server[self::PARAM_NOT_INSTALLED_URL]; } return Request\Http::getDistroBaseUrlPath($this->server) . $this->getPath() . '/'; }
/** * @param string $scriptName * @param string $expected * @dataProvider getDistroBaseUrlPathDataProvider */ public function testGetDistroBaseUrlPath($scriptName, $expected) { $this->assertEquals($expected, Http::getDistroBaseUrlPath(['SCRIPT_NAME' => $scriptName])); }
/** * Check if user login * * @param \Zend\Mvc\MvcEvent $event * @return bool * @throws \Magento\Framework\Exception\LocalizedException */ public function authPreDispatch($event) { /** @var RouteMatch $routeMatch */ $routeMatch = $event->getRouteMatch(); $controller = $routeMatch->getParam('controller'); if (!in_array($controller, $this->controllersToSkip)) { /** @var Application $application */ $application = $event->getApplication(); $serviceManager = $application->getServiceManager(); if ($serviceManager->get('Magento\\Framework\\App\\DeploymentConfig')->isAvailable()) { /** @var \Magento\Setup\Model\ObjectManagerProvider $objectManagerProvider */ $objectManagerProvider = $serviceManager->get('Magento\\Setup\\Model\\ObjectManagerProvider'); /** @var \Magento\Framework\ObjectManagerInterface $objectManager */ $objectManager = $objectManagerProvider->get(); /** @var \Magento\Framework\App\State $adminAppState */ $adminAppState = $objectManager->get('Magento\\Framework\\App\\State'); $adminAppState->setAreaCode(\Magento\Framework\App\Area::AREA_ADMIN); /** @var \Magento\Backend\Model\Session\AdminConfig $sessionConfig */ $sessionConfig = $objectManager->get(\Magento\Backend\Model\Session\AdminConfig::class); $cookiePath = $this->getSetupCookiePath($objectManager); $sessionConfig->setCookiePath($cookiePath); /** @var \Magento\Backend\Model\Auth\Session $adminSession */ $adminSession = $objectManager->create(\Magento\Backend\Model\Auth\Session::class, ['sessionConfig' => $sessionConfig, 'appState' => $adminAppState]); if (!$objectManager->get(\Magento\Backend\Model\Auth::class)->isLoggedIn()) { $adminSession->destroy(); $response = $event->getResponse(); $baseUrl = Http::getDistroBaseUrlPath($_SERVER); $response->getHeaders()->addHeaderLine('Location', $baseUrl . 'index.php/session/unlogin'); $response->setStatusCode(302); $event->stopPropagation(); return $response; } } } return false; }