Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
CheckUserLoginBackendObserver.php
Go to the documentation of this file.
1 <?php
7 
9 use Magento\Framework\Exception\Plugin\AuthenticationException as PluginAuthenticationException;
10 
12 {
16  protected $_helper;
17 
22 
26  protected $_request;
27 
33  public function __construct(
34  \Magento\Captcha\Helper\Data $helper,
36  \Magento\Framework\App\RequestInterface $request
37  ) {
38  $this->_helper = $helper;
39  $this->captchaStringResolver = $captchaStringResolver;
40  $this->_request = $request;
41  }
42 
50  public function execute(\Magento\Framework\Event\Observer $observer)
51  {
52  $formId = 'backend_login';
53  $captchaModel = $this->_helper->getCaptcha($formId);
54  $login = $observer->getEvent()->getUsername();
55  if ($captchaModel->isRequired($login)
56  && !$captchaModel->isCorrect($this->captchaStringResolver->resolve($this->_request, $formId))
57  ) {
58  $captchaModel->logAttempt($login);
59  throw new PluginAuthenticationException(__('Incorrect CAPTCHA.'));
60  }
61  $captchaModel->logAttempt($login);
62 
63  return $this;
64  }
65 }
$helper
Definition: iframe.phtml:13
__()
Definition: __.php:13
__construct(\Magento\Captcha\Helper\Data $helper, CaptchaStringResolver $captchaStringResolver, \Magento\Framework\App\RequestInterface $request)