_helper = $helper; $this->captchaStringResolver = $captchaStringResolver; $this->_request = $request; } /** * Check Captcha On User Login Backend Page * * @param \Magento\Framework\Event\Observer $observer * @throws \Magento\Framework\Exception\Plugin\AuthenticationException * @return $this */ public function execute(\Magento\Framework\Event\Observer $observer) { $formId = 'backend_login'; $captchaModel = $this->_helper->getCaptcha($formId); $login = $observer->getEvent()->getUsername(); if ($captchaModel->isRequired($login) && !$captchaModel->isCorrect($this->captchaStringResolver->resolve($this->_request, $formId)) ) { $captchaModel->logAttempt($login); throw new PluginAuthenticationException(__('Incorrect CAPTCHA.')); } $captchaModel->logAttempt($login); return $this; } }