Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
AdminSessionInfo.php
Go to the documentation of this file.
1 <?php
6 namespace Magento\Security\Model;
7 
21 {
29  const LOGGED_IN = 1;
30 
34  const LOGGED_OUT = 0;
35 
40 
45 
50  protected $isOtherSessionsTerminated = false;
51 
56  protected $securityConfig;
57 
61  private $dateTime;
62 
74  public function __construct(
75  \Magento\Framework\Model\Context $context,
76  \Magento\Framework\Registry $registry,
78  \Magento\Framework\Stdlib\DateTime\DateTime $dateTime,
79  \Magento\Framework\Model\ResourceModel\AbstractResource $resource = null,
80  \Magento\Framework\Data\Collection\AbstractDb $resourceCollection = null,
81  array $data = []
82  ) {
83  parent::__construct($context, $registry, $resource, $resourceCollection, $data);
84  $this->securityConfig = $securityConfig;
85  $this->dateTime = $dateTime;
86  }
87 
94  protected function _construct()
95  {
96  $this->_init(\Magento\Security\Model\ResourceModel\AdminSessionInfo::class);
97  }
98 
105  public function isLoggedInStatus()
106  {
107  $this->checkActivity();
108  return $this->getData('status') == self::LOGGED_IN;
109  }
110 
116  private function checkActivity()
117  {
118  if ($this->isSessionExpired()) {
119  $this->setData('status', self::LOGGED_OUT);
120  }
121  }
122 
129  public function isSessionExpired()
130  {
131  $lifetime = $this->securityConfig->getAdminSessionLifetime();
132  $currentTime = $this->dateTime->gmtTimestamp();
133  $lastUpdatedTime = $this->getUpdatedAt();
134  if (!is_numeric($lastUpdatedTime)) {
135  $lastUpdatedTime = strtotime($lastUpdatedTime);
136  }
137 
138  return $lastUpdatedTime <= ($currentTime - $lifetime) ? true : false;
139  }
140 
147  public function getFormattedIp()
148  {
149  return $this->getIp();
150  }
151 
158  public function isOtherSessionsTerminated()
159  {
161  }
162 
171  {
173  return $this;
174  }
175 }
getData($key='', $index=null)
Definition: DataObject.php:119
setIsOtherSessionsTerminated($isOtherSessionsTerminated)
$resource
Definition: bulk.php:12
__construct(\Magento\Framework\Model\Context $context, \Magento\Framework\Registry $registry, ConfigInterface $securityConfig, \Magento\Framework\Stdlib\DateTime\DateTime $dateTime, \Magento\Framework\Model\ResourceModel\AbstractResource $resource=null, \Magento\Framework\Data\Collection\AbstractDb $resourceCollection=null, array $data=[])
$dateTime