Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
AuthSession.php
Go to the documentation of this file.
1 <?php
7 
10 
15 {
19  private $request;
20 
24  private $messageManager;
25 
29  private $sessionsManager;
30 
34  protected $securityCookie;
35 
42  public function __construct(
43  \Magento\Framework\App\RequestInterface $request,
44  \Magento\Framework\Message\ManagerInterface $messageManager,
45  AdminSessionsManager $sessionsManager,
46  \Magento\Security\Model\SecurityCookie $securityCookie
47  ) {
48  $this->request = $request;
49  $this->messageManager = $messageManager;
50  $this->sessionsManager = $sessionsManager;
51  $this->securityCookie = $securityCookie;
52  }
53 
61  public function aroundProlong(Session $session, \Closure $proceed)
62  {
63  if (!$this->sessionsManager->getCurrentSession()->isLoggedInStatus()) {
64  $session->destroy();
65  $this->addUserLogoutNotification();
66  return null;
67  }
68  $result = $proceed();
69  $this->sessionsManager->processProlong();
70  return $result;
71  }
72 
78  private function addUserLogoutNotification()
79  {
80  if ($this->isAjaxRequest()) {
81  $this->securityCookie->setLogoutReasonCookie(
82  $this->sessionsManager->getCurrentSession()->getStatus()
83  );
84  } elseif ($message = $this->sessionsManager->getLogoutReasonMessage()) {
85  $this->messageManager->addErrorMessage($message);
86  }
87 
88  return $this;
89  }
90 
96  private function isAjaxRequest()
97  {
98  return (bool) $this->request->getParam('isAjax');
99  }
100 }
aroundProlong(Session $session, \Closure $proceed)
Definition: AuthSession.php:61
elseif(isset( $params[ 'redirect_parent']))
Definition: iframe.phtml:17
__construct(\Magento\Framework\App\RequestInterface $request, \Magento\Framework\Message\ManagerInterface $messageManager, AdminSessionsManager $sessionsManager, \Magento\Security\Model\SecurityCookie $securityCookie)
Definition: AuthSession.php:42
$message