/**
  * 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() . '/';
 }
Example #2
0
 /**
  * @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;
 }