Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Session.php
Go to the documentation of this file.
1 <?php
7 
8 class Session extends \Zend\Mvc\Controller\AbstractActionController
9 {
13  private $serviceManager;
14 
18  private $objectManagerProvider;
19 
24  public function __construct(
25  \Zend\ServiceManager\ServiceManager $serviceManager,
26  \Magento\Setup\Model\ObjectManagerProvider $objectManagerProvider
27  ) {
28  $this->serviceManager = $serviceManager;
29  $this->objectManagerProvider = $objectManagerProvider;
30  }
31 
37  public function indexAction()
38  {
39  $view = new \Zend\View\Model\ViewModel();
40  $view->setTemplate('/error/404.phtml');
41  $this->getResponse()->setStatusCode(\Zend\Http\Response::STATUS_CODE_404);
42  return $view;
43  }
44 
50  public function prolongAction()
51  {
52  try {
53  if ($this->serviceManager->get(\Magento\Framework\App\DeploymentConfig::class)->isAvailable()) {
54  $objectManager = $this->objectManagerProvider->get();
56  $adminAppState = $objectManager->get(\Magento\Framework\App\State::class);
57  $adminAppState->setAreaCode(\Magento\Framework\App\Area::AREA_ADMINHTML);
58  $sessionConfig = $objectManager->get(\Magento\Backend\Model\Session\AdminConfig::class);
60  $backendUrl = $objectManager->get(\Magento\Backend\Model\Url::class);
61  $urlPath = parse_url($backendUrl->getBaseUrl(), PHP_URL_PATH);
62  $cookiePath = $urlPath . 'setup';
63  $sessionConfig->setCookiePath($cookiePath);
64  /* @var \Magento\Backend\Model\Auth\Session $session */
65  $session = $objectManager->create(
66  \Magento\Backend\Model\Auth\Session::class,
67  [
68  'sessionConfig' => $sessionConfig,
69  'appState' => $adminAppState
70  ]
71  );
72  $session->prolong();
73  return new \Zend\View\Model\JsonModel(['success' => true]);
74  }
75  } catch (\Exception $e) {
76  }
77  return new \Zend\View\Model\JsonModel(['success' => false]);
78  }
79 
83  public function unloginAction()
84  {
85  $view = new \Zend\View\Model\ViewModel();
86  $view->setTemplate('/error/401.phtml');
87  $this->getResponse()->setStatusCode(\Zend\Http\Response::STATUS_CODE_401);
88  return $view;
89  }
90 }
$objectManager
Definition: bootstrap.php:17
__construct(\Zend\ServiceManager\ServiceManager $serviceManager, \Magento\Setup\Model\ObjectManagerProvider $objectManagerProvider)
Definition: Session.php:24