messageManager = $messageManager; $this->sessionsManager = $sessionsManager; $this->securityCookie = $securityCookie; } /** * Before execute login * * @param Login $login * @return void */ public function beforeExecute(Login $login) { $logoutReasonCode = $this->securityCookie->getLogoutReasonCookie(); if ($this->isLoginForm($login) && $logoutReasonCode >= 0) { $this->messageManager->addErrorMessage( $this->sessionsManager->getLogoutReasonMessageByStatus($logoutReasonCode) ); $this->securityCookie->deleteLogoutReasonCookie(); } } /** * Check if the login form action is requested directly * * @param Login $login * @return bool */ private function isLoginForm(Login $login) { return $login->getRequest()->getUri() == $login->getUrl('*'); } }