Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Public Member Functions | Data Fields | Protected Attributes
SecurityManager Class Reference

Public Member Functions

 __construct (ConfigInterface $securityConfig, \Magento\Security\Model\PasswordResetRequestEventFactory $passwordResetRequestEventFactory, ResourceModel\PasswordResetRequestEvent\CollectionFactory $passwordResetRequestEventCollectionFactory, \Magento\Framework\Event\ManagerInterface $eventManager, \Magento\Framework\Stdlib\DateTime\DateTime $dateTime, RemoteAddress $remoteAddress, $securityCheckers=[])
 
 performSecurityCheck ($requestType, $accountReference=null, $longIp=null)
 
 cleanExpiredRecords ()
 

Data Fields

const SECURITY_CONTROL_RECORDS_LIFE_TIME = 86400
 

Protected Attributes

 $securityConfig
 
 $passwordResetRequestEventFactory
 
 $passwordResetRequestEventCollectionFactory
 
 $securityCheckers
 

Detailed Description

Manager for password reset actions

@api

@SuppressWarnings(PHPMD.CouplingBetweenObjects)

Since
100.1.0

Definition at line 20 of file SecurityManager.php.

Constructor & Destructor Documentation

◆ __construct()

__construct ( ConfigInterface  $securityConfig,
\Magento\Security\Model\PasswordResetRequestEventFactory  $passwordResetRequestEventFactory,
ResourceModel\PasswordResetRequestEvent\CollectionFactory  $passwordResetRequestEventCollectionFactory,
\Magento\Framework\Event\ManagerInterface  $eventManager,
\Magento\Framework\Stdlib\DateTime\DateTime  $dateTime,
RemoteAddress  $remoteAddress,
  $securityCheckers = [] 
)

SecurityManager constructor.

Parameters
ConfigInterface$securityConfig
\Magento\Security\Model\PasswordResetRequestEventFactory$passwordResetRequestEventFactory
ResourceModel\PasswordResetRequestEvent\CollectionFactory$passwordResetRequestEventCollectionFactory
\Magento\Framework\Event\ManagerInterface$eventManager
\Magento\Framework\Stdlib\DateTime\DateTime$dateTime
RemoteAddress$remoteAddress
array$securityCheckers
Exceptions

Definition at line 78 of file SecurityManager.php.

86  {
87  $this->securityConfig = $securityConfig;
88  $this->passwordResetRequestEventFactory = $passwordResetRequestEventFactory;
89  $this->passwordResetRequestEventCollectionFactory = $passwordResetRequestEventCollectionFactory;
90  $this->securityCheckers = $securityCheckers;
91  $this->eventManager = $eventManager;
92  $this->dateTime = $dateTime;
93  $this->remoteAddress = $remoteAddress;
94 
95  foreach ($this->securityCheckers as $checker) {
96  if (!($checker instanceof SecurityCheckerInterface)) {
97  throw new \Magento\Framework\Exception\LocalizedException(
98  __('Incorrect Security Checker class. It has to implement SecurityCheckerInterface')
99  );
100  }
101  }
102  }
__()
Definition: __.php:13
$dateTime

Member Function Documentation

◆ cleanExpiredRecords()

cleanExpiredRecords ( )

Clean expired Admin Sessions

Returns
$this
Since
100.1.0

Definition at line 134 of file SecurityManager.php.

135  {
136  $this->passwordResetRequestEventCollectionFactory->create()->deleteRecordsOlderThen(
137  $this->dateTime->gmtTimestamp() - self::SECURITY_CONTROL_RECORDS_LIFE_TIME
138  );
139 
140  return $this;
141  }

◆ performSecurityCheck()

performSecurityCheck (   $requestType,
  $accountReference = null,
  $longIp = null 
)

Perform security check

Parameters
int$requestType
string | null$accountReference
int | null$longIp
Returns
$this
Exceptions
SecurityViolationException
Since
100.1.0

Definition at line 114 of file SecurityManager.php.

115  {
116  if (null === $longIp) {
117  $longIp = $this->remoteAddress->getRemoteAddress();
118  }
119  foreach ($this->securityCheckers as $checker) {
120  $checker->check($requestType, $accountReference, $longIp);
121  }
122 
123  $this->createNewPasswordResetRequestEventRecord($requestType, $accountReference, $longIp);
124 
125  return $this;
126  }

Field Documentation

◆ $passwordResetRequestEventCollectionFactory

$passwordResetRequestEventCollectionFactory
protected

Definition at line 43 of file SecurityManager.php.

◆ $passwordResetRequestEventFactory

$passwordResetRequestEventFactory
protected

Definition at line 37 of file SecurityManager.php.

◆ $securityCheckers

$securityCheckers
protected

Definition at line 49 of file SecurityManager.php.

◆ $securityConfig

$securityConfig
protected

Definition at line 31 of file SecurityManager.php.

◆ SECURITY_CONTROL_RECORDS_LIFE_TIME

const SECURITY_CONTROL_RECORDS_LIFE_TIME = 86400

Security control records time life

Definition at line 25 of file SecurityManager.php.


The documentation for this class was generated from the following file: